存档

‘闪客’ 分类的存档

二进制时钟

2010年12月17日 蜘蛛抱蛋 10 条评论

        看腻了数显时钟,来体验一下二进制的吧,上面跳动的方块表示24小时制的系统时间。之前没听过的童鞋可能有点晕乎,其实只要适应一段时间,你甚至会觉得它比十进制更方便。

阅读全文…

分类: autoit, 尝鲜, 闪客 标签: ,

Music Catch

2010年5月30日 蜘蛛抱蛋 1 条评论

后天六一儿童节,祝大家节日快乐!

贴上一个很适合用来放松心情的flash~

阅读全文…

分类: 闪客 标签:

谈谈flash防下载

2010年5月2日 蜘蛛抱蛋 没有评论

本人是flash小白,只会玩不会做,嘿嘿,今天就打肿脸充胖子,谈谈flash防下载技术~

这个flash为例,正常浏览应该到这儿。用迅雷探测了下,发现是调用了shell.swf(光看名字就知道是个壳),只有几十字节,下载下来反编,只有一句话“Stage.showMenu = true;loadMovieNum("player.swf", 2);”。于是把域名里的shell.swf替换成player.swf ,整个flash就显示“please run index.html,shell.swf or shell.exe”顺藤摸瓜,使用它提示的网址,直接就跳转到一开始所说的那个位置了。查看源代码,除了几句象征性的防直接访问代码外,没有找到有价值的东西。看来这个player.swf就是核心了

下载下来有100多K,反编译之后直奔它的AS。以搜索之前flash的提示文字,定位到了判断语句loadAllSlide()

function loadAllSlide()
{
    var _loc2 = this.createEmptyMovieClip("ctrl", i);
    if (arrSlide[i].indexOf("Slide") != -1)
    {
        mc.loadMovie("
data/" + arrSlide[i]);
    }
    else
    {
        mc.loadMovie(arrSlide[i]);
    } // end else if
    _loc2.onEnterFrame = function ()
    {
        mc.stop();
        mc.mc_Slide.stop();
        bytLoaded = mc.getBytesLoaded();
        bytTotal = mc.getBytesTotal();
        if (!isGone)
        {
            mc_logo.ldr.text = strObj.loadInfo + " " + Math.round(i * 100 / g_totalSlide + 100 / g_totalSlide * bytLoaded / bytTotal).toString() + "%";
            if (bytLoaded != undefined && bytTotal != undefined && i / g_totalSlide + bytLoaded / bytTotal / g_totalSlide >= buf)
            {
                mc = mc_load; 阅读全文…

分类: 闪客 标签: ,