Flash程序员:如何使代码反编译证明?

时间:2008-12-05 01:09:23

标签: flash actionscript-3 decompiling obfuscation

到目前为止,我参与了几个flash项目。我知道我在AS3的方式,但我也开始对其他flash程序的写法感到好奇,所以我反编译了一些swf文件,看看它们是如何制作的。 (我也读过开源项目,但我没有说,因为我对反编译swf文件或任何东西感到内疚。)我通过研究这些项目学到了很多东西。但有些项目根本无法理解代码。看起来他们不可能是人类写的!

也许他们被混淆了,对吧?这让我想到:有越来越多的网站提供Flash / Flex应用程序作为他们的主要服务。我在考虑Scribd,Sproutbuilder,但你可以想到其他人。这些网站非常有兴趣保护其Flash平台中的代码。

所以这让我想到了一个问题:你是什么样的工具或技术,flash程序员,用来使代码反编译?

编辑:发布此内容之后,我遇到this interesting post by Charles Miller关于混淆无效的问题。他提出了一个公平的观点。软件是时间的投入,最终有人会投入足够的时间来对即使是最令人生畏的软件工程项目进行逆向工程。 (提示,提示:Mac OS,Windows,iPhone,你的名字。)但这并不意味着混淆不能为短期内的公司提供物质利益和竞争优势。我是对还是错?

3 个答案:

答案 0 :(得分:6)

SWFEncrypt是我团队中许多人使用过的成功案例。显然,直到最近才支持AS3,但确认在5.0.4 +

中工作

http://www.amayeta.com/software/swfencrypt/

答案 1 :(得分:1)

据我所知,像swfencrypt这样的混淆工具在ActionScript 2中效果更好,因为它有eval()函数,这是一种隐藏代码的好方法。但是,我仍然建议使用这样的东西,更重要的是你在服务器上放置尽可能多的逻辑,它是安全的。

答案 2 :(得分:0)

有几个商业和免费动作脚本混淆器,google search出现了几个。我不能担保任何特定的,但我确信他们仍然可以在某种程度上进行逆向工程。

IMO,如果混淆器通过将变量,函数和类重命名为无意义/随机字符而使您的代码无法读取,那通常是很多沮丧的人,他们想要阅读您的代码或拼凑任何东西。一个微不足道的计划。