第二部分 使用16进制编辑器混淆as3变量名(推荐)修改as3变量名是目前最流行的混淆加密的方法(我也首推这一方法),使用起来也很简单。许多卖钱的加密软件都提供这种方法,但其实自己手动就可以做到,不必浪费钱财,而且加密软件是死的,直接对swf混淆可能产生错误,对自己写的东西,手动效果好得多。推荐软件(若有更好工具欢迎推荐):1.SWF 压缩/解压缩 SWF Compressor(免费软件)下载地址:http://www.dcomsoft.com/(可能被墙,可以直接下载附件compressor_decompressor.exe) compressor_decompressor.rar (1.01 MB)
下载次数: 269 2010-3-18 14:49 下载消耗 银子 1 两2.16进制编辑器 HxD(免费软件)下载地址:ftp://wa651f4:anonymous@mh-nexus.de/HxDchs.zip HxDchs.zip (788.54 KB)
下载次数: 118 2010-3-18 14:49 下载消耗 银子 1 两3. 任意一个反编译工具(如asv)先下载安装两个软件。以第一部分alchemy生成swf文件为例ALCSWF.swf。1.运行SWF Compressor File->Open ALCSWF.swf Decompress movie 保存ALCSWF_FWS.swf
下载 (81.14 KB) 2010-3-18 14:502.将保存的ALCSWF_FWS.swf拖到HxD图标上(用HxD打开该文件)3.asv打开ALCSWF.swf 观察反编译出类代码文件
下载 (57.04 KB) 2010-3-18 14:504.以修改类名“Main”(替换为“;;;;” )为例HxD中ctrl+R 搜索 Main替换为 ;;;;注意钩上大小写敏感项全部替换。
下载 (79.92 KB) 2010-3-18 14:56同法替换ALCSWF->;;;;;;enterFrame->;;;;;;;;;;(注意被替换字符串与替换字符串长度要相同!)几点注意1被替换字符串与替换字符串长度要相同!2只能替换自定义的变量名、函数名、类名、包名,不能替换as3关键字!3一定要全部替换!注意保存原swf文件,每次替换后运行一下swf看是否还能正确运行,如flash player报错,可能原因是替换了as3关键字,被替换字符串与替换字符串长度不同,没全部替换等,需要重新来一次。替换完毕,再用asv察看结果如下:
下载 (57.51 KB) 2010-3-18 14:504运行SWF Compressor File->Open ALCSWF_FWS.swf (刚替换完毕的swf)Compress movie 保存ALCSWF_CWS.swf即可。题外话:HeX编辑器还可以做简单的swf破解:以这个游戏为例http://www8.agame.com/mirror/flash/a/Arcuz/arcuz_agame_com.swf游戏设置了运行域,禁止本地游戏(这点其实很无聊)直接下载播放swf显示如下:
下载 (13.35 KB) 2010-3-18 15:08使用asv察看源码发现是as2的,是这句"sitelock(urls_allowed);”代码在作怪。
下载 (71.36 KB) 2010-3-18 15:08直接用上述方法,黑掉sitelock,本地成功运行:
下载 (345.65 KB) 2010-3-18 15:08下载 (367.68 KB) 2010-3-18 15:08
变量名替换.zip (233.4 KB)
