【问题标题】:ActionScript Protect .swf/.swc Files From Decompilation?ActionScript 保护 .swf/.swc 文件免受反编译?
【发布时间】:2010-08-01 08:04:54
【问题描述】:

是否可以保护 .swf 文件不被反编译?

我一直在阅读有关在 .swc 文件中编译类库以在不透露代码的情况下进行分发的信息——可能会出售它。但是,您可以使用 .swf 反编译器来公开代码,并且 .swc 文件只是一个 .zip 存档,因此将 myswc.swc 更改为 myswc.zip 将显示库的 .swf 文件。

只是好奇,主要是。

【问题讨论】:

    标签: apache-flex actionscript-3 flash decompiler


    【解决方案1】:

    你不能。不要相信那些 swf 保护器/加密器。 swf 和 swc 的内容都需要被 AVM2 读取,因此它不能被压缩或加密或任何东西。底线是你不能真正保护你的 as3 代码不被逆向工程。

    【讨论】:

    • @__dominic。我同意没有任何工具可以使 swf 不可能 被逆向工程。但是一个好的混淆器会使任务变得更加困难。在许多情况下,它会使对 swf 的逆向工程比从头开始编写代码更难或更昂贵。我认为这就是混淆器的意义所在。
    • Juan Pablo Califano,你能推荐一种混淆的方法吗?
    • 混淆也不起作用!您只是无法加密/混淆您的代码,原因很简单,如果您的代码不可读,AVM 将如何理解它?加密/混淆工具是一个骗局。无法编译代码,将其转换为字节码,然后在加密后由 VM 读取。并且“混淆”它也不起作用,所有这些工具都会添加一些未使用的垃圾代码并使您的 swf/swc 更重。相信我,我为自己编写了一个小反编译工具,并用“受保护”的 swf 或 swc 文件对其进行了测试,我毫无问题地得到了源代码。
    • @__dominic。看了你的评论,我觉得你并没有很注意我写的东西。不久前,我编写了一个工具来将字节码转换为更高级的东西。不是可编译的 Actionscript,而是一些带有赋值、条件和循环的中间临时语言,因此您可以跟踪代码,而不必在精神上跟踪堆栈的状态。那是几年前,主要是出于教育原因。不过,我绝不是该领域的专家,但我认为我对基础知识有所了解。
    • @__dominic。作为记录,我不赞成自己使用反编译器。您可以查看我在这里提出的一些观点(如果您喜欢自我参考:stackoverflow.com/questions/1259821/…)。也就是说,即使是最微不足道的“保护”也可能使反向代码无法直接编译或非常难以理解。一些混淆器(不记得是哪一个)使用的一个非常古老但有效的技巧是使用不可打印的字符重命名公共标识符。
    【解决方案2】:

    我是 Flash 游戏开发者,我使用来自 http://www.eramsoft.com 的 Flash Secure Optimizer

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 2012-12-16
      • 2012-07-27
      • 2012-11-26
      • 2012-06-17
      • 2011-01-29
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      相关资源
      最近更新 更多