代码之家  ›  专栏  ›  技术社区  ›  Ran

如何防止ActionScript代码反编译

  •  1
  • Ran  · 技术社区  · 7 年前

    是否有可靠的方法阻止复制我的ActionScript代码(AS2或AS3)(例如,如果其中有一些IP)? 我知道有一些工具可以对flash代码进行反编译,所以很容易进行逆向工程,我还看到一些工具声称能够以一种不可窃取的方式混淆actionscript代码,但我想知道它们有多可靠…… 你知道吗?谢谢!

    2 回复  |  直到 7 年前
        1
  •  2
  •   Jacob Poul Richardt    17 年前

    根据定义,不可能阻止它。

    原因很简单,代码需要在客户机上运行,因此客户机需要能够读取它。

    你能做的最好的事情就是做得太难(需要时间),以至于没有利润。 flash有一个内置的功能,可以用密码保护againt反编译。我不确定它是如何工作的,我想是某种形式的加密。

    您可以尝试将感知数据SPIL起来,并在运行时将其加入,OG对其进行加密,然后从服务器获取descryption密钥。

    但最终你无能为力。除非你不让用户输入加密密钥(密码或文件)。 flash中没有内置加密,但有两个免费的库,如crypto lib http://code.google.com/p/as3crypto/ .

        2
  •  2
  •   evilpenguin    17 年前

    我没有找到可靠和可持续的方法来混淆代码。如果有办法混淆代码,我敢打赌:

    • 它会影响代码的性能
    • 在某人为这个模糊方法创建/找到一个反编译器之前,只是时间问题。

    我认为依赖客户机代码的安全性不是一个好的实践。即使无法对代码进行反编译,SWF也会在客户机上运行,并通过用户可以访问的网络连接与Internet进行通信。可以嗅探数据包,并且可以很容易地分析正在传输的所有数据。

    我认为您应该找到一种开发安全应用程序的方法,即使考虑到客户机知道您所做的一切。您应该尝试使用服务器端约束,并在使用之前过滤所有输入。另外,从服务器端脚本请求所有敏感数据,而不是将其嵌入到您的as代码中,这可能是一个好的开始。