【问题标题】:Flash programmers: how do you make your code decompile proof?Flash 程序员:你如何让你的代码反编译证明?
【发布时间】:2008-12-05 01:09:23
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: flash actionscript-3 decompiling obfuscation


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,游戏规则是“永远不要相信客户。”
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2023-03-18
        • 2016-03-29
        • 2011-02-07
        • 2010-09-08
        • 1970-01-01
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        • 2010-10-25
        相关资源
        最近更新 更多