[转载]SWF文件格式和ABC代码混淆工具的开发 (一) – 出发点和目标 – Tony Huang 的编程园地 – 博客园.
在2010年11月28日,我在盛大举办的WeDoSwf会议上,我做了一个演讲,主题就是关于Swf的文件格式和Abc文件的混淆。 最近一个多月的时间里面,各种零零总总的事情特别多,一直没有时间把这个东西整理好放到博客中。 首先呢,把我的演讲的视频的ppt放上来: 视频: http://v.ku6.com/show/MwjMgfhEgUFoiZ.html PPT: http://www.slideshare.net/swfsh/swfabc 然后呢,经过我们的努力,我们已经将这个东西做成了一个产品,有兴趣的朋友可以去我们的公司主页上下载试用。 Ok, 接下来切入正题:
出发点和目标
现在游戏行业已经越来越激烈,竞争对手之间的不正当竞争手段也越来越恶劣。 而现在的游戏的内核已经越来越重要,由于Flash的局限性,每个厂商都都会设计一些高性能的算法以支持复杂游戏的流畅运行。 在这同时,由于Flash和Web环境的特点,网页游戏的外挂简直泛滥到了一定的程度。 所以,我们加密Swf文件要达到如下的几个目的:
- 防止游戏中的高性能算法被他人盗用
- 防止游戏的客户端成为外挂编写者的参考资料
- 防止游戏被破解后,广泛传播,却不能给开发者带来合理的收益
所以,我们不能任由他人践踏我们的知识产权。 现在在市场上,最流行的Swf反编译软件主要有两款:
- 硕思闪客精灵说来惭愧,我是这款软件的正版用户。这款软件应该是市面上用户界面最友好,使用面积也最广的Flash破解软件了。个人认为他的主要强项在于资源文件的破解。它的反编译引擎比较傻瓜,依葫芦画瓢,所以我们插入的混淆代码能起到很好的作用。
- ASVASV也是市面上非常流行的反编译软件。它的侧重点恰恰相反,在于AS代码的反编译上面,它反编译出来的代码可读性非常强,如果swf是采 用Debug编译的,基本上能够反编译几乎完全相同的代码。试用我们的方法进行混淆了以后,用ASV打开文件,就会发现,它根本无法正常识别AS脚本。
所以,我们加密的目标也就是要保证,这两款软件的最新版本也无法破解我们的软件,即:
- 硕思闪客精灵 5.6
- ASV 2010/6
效果
直接上图是最给力的,先把我们的加密效果发布出来大家围观一下吧: