4

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

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

所以这让我想到了我的问题:闪存程序员使用什么样的工具或技术来使您的代码防反编译?

编辑:在发布这个之后,我看到了查尔斯米勒关于混淆的徒劳的这篇有趣的帖子。他提出了一个公平的观点。软件是对时间的投资,最终有人会投入足够的时间进行逆向工程,即使是最令人生畏的软件工程项目。(提示,提示:Mac OS、Windows、iPhone,应有尽有。)但这并不意味着混淆不会(在短时间内)为率先进入市场的公司提供物质利益和竞争优势. 我是对还是错?

4

3 回答 3

6

SWFEncrypt 是我团队中许多人成功使用的一种。显然,直到最近才支持 AS3,但已确认可在 5.0.4+ 中工作

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

于 2008-12-05T01:41:35.133 回答
1

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

于 2008-12-05T09:51:23.180 回答
0

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

IMO,如果混淆器通过将变量、函数和类重命名为无意义/随机字符而使您的代码不可读,那通常会让想要阅读您的代码或将任何东西拼凑起来而不是琐碎的程序的人灰心丧气.

于 2008-12-05T01:39:02.410 回答