首页
社区
课程
招聘
[求助]万能的看雪,求懂Flash与ActionScript朋友指导个问题!
发表于: 2017-3-6 11:17 3016

[求助]万能的看雪,求懂Flash与ActionScript朋友指导个问题!

2017-3-6 11:17
3016


//AS代码概要如下:


mLoader = new flash.display.Loader();

mLoader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, this.onComplete);

mLoader.load(new flash.net.URLRequest("cc9K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0m8Q4x3X3f1J5x3U0u0Q4x3V1j5H3x3o6q4Q4x3X3g2K6N6$3k6Q4x3U0k6I4N6h3!0@1i4K6y4n7i4K6t1&6i4K6t1&6i4K6y4n7


internal function onComplete(arg1:flash.events.Event):void

{

var mSecret:* = mLoader.content;

var loc3:*=mSecre.getMyName( 1008 );

}


//用Flash Builder对此代码进行调试时,无法跳入 getMyName() 这个调用(可能没有这个函数的源代码);


//用 Flash Decompiler Trillix 对 001.swf 进行反编译,此.swf文件没有AS脚本,却有若干个"Binary";在这些"Binary"中可以发现一些明文字符串,例如:

FreeBSD 8.1-RELEASE ....

......

as3sig:public function getMyName(Number:int):void

.......

........等等


//我之前弄的是C/C++,第一次接触Flash,现在想问,我要如何才能看到 getMyName 这个函数的代码?要用什么工具,如何做,才能反编译001.swf里面的"Binary"里的代码? 或者说,有没有方法可以跟踪得到 getMyName 这个函数的执行过程?





[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
2
过程是这样的: 1. 94bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0m8Q4x3X3f1J5x3U0u0Q4x3V1j5H3x3o6q4Q4x3X3g2K6N6$3j5`. 这个链接里的swf文件下载回来,进行反编译 2. 001.swf 反编译的代码中是否有getMyName这个函数? 3. 代码的逻辑是 下载001.swf的时候安装一个监听器,等下载完成的时候执行onComplete 函数
2017-3-6 14:03
0
雪    币: 36
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
仙果 过程是这样的: 1. 71fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0m8Q4x3X3f1J5x3U0u0Q4x3V1j5H3x3o6q4Q4x3X3g2K6N6$3j5`. 这个链接里的swf文件下载回来,进行反编译 2. 001.swf 反编译的代码中是否有getMyName这个函数? ...
这.... 版主你没仔细看,001.swf 反编译时没有ActionScript脚本,只能提取出若干个"Binary",这些"Bin"是被另一种方式编译过的,然后再编译进.swf; 这些经过编译的"Bin",直接看文件数据,有点像Java的.class,有明文,有十六进制数据; 这些"Bin"有明文的函数名称如:as3sig:public function getMyName(Number:int):void, 但没有明文的代码(因为已经编译成字节码了)。 至于代码的逻辑或过程,概要的代码是我自己写来测试的,我当然明白; 我想弄清楚的就是这些"Bin"里面的"导出函数"。Flash Builder调试时无法跳入"Bin"里面的函数,因为没有源代码,它不像C/C++那样,即使没有源代码,也可以跟踪进汇编代码中,可以看到每一条CPU指令,但是这些解释型的语言不能。另外,这些"Bin"是什么工具什么方式编译的,我也不知道,也不确定是否可以反编译,如果能反编译,要使用什么工具如何操作才能反编译这些“Bin”。 百度了好久,好像这些"Bin"是Flascc产生的,它的源生代码可能是C++,经Flascc编译之后,再被编译进.swf。 我就是想知道,如何能反编译这些"Bin"。 如果不能反编译,是否有办法可以跟踪进入这些"Bin",以了解其"导出函数"的运行过程? 希望对这方面了解的朋友指教一下,谢谢!
2017-3-6 17:32
0
雪    币: 36
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
仙果 过程是这样的: 1. 059K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0m8Q4x3X3f1J5x3U0u0Q4x3V1j5H3x3o6q4Q4x3X3g2K6N6$3j5`. 这个链接里的swf文件下载回来,进行反编译 2. 001.swf 反编译的代码中是否有getMyName这个函数? ...
按C/C++的角度来讲, mLoader.load(new flash.net.URLRequest("9e3K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0m8Q4x3X3f1J5x3U0u0Q4x3V1j5H3x3o6q4Q4x3X3g2K6N6$3j5`.")); 就像是下载了一个.DLL文件,然后 getMyName = GetProcAddress( LoadLibrary( 001.swf ) ); , 之后就调用这个导出函数 getMyName( 1008 ); 现在的困扰就是,getMyName这个调用跟踪不进去,这个.swf文件里面的"Binary"也不知道怎么反编译,就是弄不清楚 getMyName() 这个函数到底在做什么。
2017-3-6 17:39
0
雪    币: 36
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我错了,是我用的那个反编译工具不够新,无法反编译001.swf; 原来有2个.swf, 一个aaa.swf,另一个就是这个001.swf,我用那个反编译工具首先反编译了aaa.swf, 一切正常; 然后再反编译001.swf,结果识别不出里面的Actionscript,只显示里面有若干个"Binary",其实这几个"Binary"就是脚本,只不过这个反编译工具识别不了这个001.swf 。我找了其它的一些较新的反编译工具,成功识别出了001.swf里面的AS代码。
2017-3-7 11:42
0
游客
登录 | 注册 方可回帖
返回