as3加密入门2使用非法变量名

第二部分 使用16进制编辑器混淆as3变量名(推荐)
修改as3变量名是目前最流行的混淆加密的方法(我也首推这一方法),使用起来也很简单。许多卖钱的加密软件都提供这种方法,但其实自己手动就可以做到,不必浪费钱财,而且加密软件是死的,直接对swf混淆可能产生错误,对自己写的东西,手动效果好得多。
推荐软件(若有更好工具欢迎推荐):
1.SWF 压缩/解压缩  SWF Compressor(免费软件)
下载地址:http://www.dcomsoft.com/
(可能被墙,可以直接下载附件compressor_decompressor.exe)
  compressor_decompressor.rar (1.01 MB)


2.16进制编辑器 HxD(免费软件)
下载地址:ftp://wa651f4:anonymous@mh-nexus.de/HxDchs.zip
  HxDchs.zip (788.54 KB)


3. 任意一个反编译工具(如asv)
先下载安装两个软件。
以第一部分alchemy生成swf文件为例ALCSWF.swf。
1.运行SWF Compressor File->Open ALCSWF.swf Decompress movie 保存ALCSWF_FWS.swf
decompress movie.PNG


2.将保存的ALCSWF_FWS.swf拖到HxD图标上(用HxD打开该文件)

3.asv打开ALCSWF.swf 观察反编译出类代码文件
asv.PNG


4.以修改类名“Main”(替换为“;;;;” )为例
HxD中
ctrl+R 
搜索 Main
替换为 ;;;;
注意钩上大小写敏感项
全部替换。
Hex.PNG


同法替换
ALCSWF->;;;;;;
enterFrame->;;;;;;;;;;(注意被替换字符串与替换字符串长度要相同!)
几点注意
1被替换字符串与替换字符串长度要相同!
2只能替换自定义的变量名、函数名、类名、包名,不能替换as3关键字!
3一定要全部替换!
注意保存原swf文件,每次替换后运行一下swf看是否还能正确运行,如flash player报错,可能原因是替换了as3关键字,被替换字符串与替换字符串长度不同,没全部替换等,需要重新来一次。
替换完毕,再用asv察看结果如下:
asv2.PNG


4运行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显示如下:
arcuz_agame_com1.PNG


使用asv察看源码发现是as2的,是这句"sitelock(urls_allowed);”代码在作怪。
arcuz_agame_com-lock.PNG


直接用上述方法,黑掉sitelock,本地成功运行:
arcuz_agame_com-ulock.PNG

arcuz_agame_com-unlock1.PNG


  变量名替换.zip (233.4 KB)

原文地址:https://www.cnblogs.com/keng333/p/2301909.html