【问题标题】:Protecting SWF file with bytearray使用 bytearray 保护 SWF 文件
【发布时间】:2014-05-13 11:27:12
【问题描述】:

我正在为客户开发一个 Flex 应用程序,我不希望其他人使用反编译器知道我的代码,我发现了一个 SWF 保护器 (dcomsoft),它可以将所有代码转换为字节数组,并且代码对于初学者来说变得更加复杂程序员,我认为这对专业人士来说还不够。

做一些混淆然后保护 SWF 就足够了吗?

【问题讨论】:

  • 对熟练的黑客来说,没有任何预防措施是足够的,SWF 应该能够在 Flash 播放器中进行本地反汇编以实际播放,因此黑客可以简单地模拟 Flash 播放器来获取您的 SWF 代码。尽管如此,某种 SWF 保护可能会让大多数“黑客”离开董事会,并让其他人浪费更多资源来通过这种混淆,这可能并不令人满意,所以他们也可以停止尝试,说“太努力换取小回报”。
  • "..他们也可以停止尝试。"这就是我想通过使代码更复杂来实现的。
  • 一个未受保护的 SWF 可以被 90% 的用户入侵,受保护 - 40%,很好的保护 - 5%。这些数字是假的,但这个想法仍然存在,即使大多数“黑客”会放弃,你的 SWF 也不能算作 100% 安全;)

标签: actionscript-3 apache-flex flash obfuscation source-code-protection


【解决方案1】:

简短回答 -

任何编译后的代码都可以反编译,混淆后的代码可以反转为正常(许多反编译器会自动执行此操作或具有该选项)。

只要是在客户端,代码就不安全。 你可以使用花哨的工具,反编译可能需要额外的 30 分钟,但有兴趣知道它是如何工作的人可以这样做。

【讨论】:

  • 你提到我的 SWF 在客户端,有一些技巧可以让 SWF 从服务器端获取一些方法吗?我的 SWF 应用程序使用网络。
  • @user3632172 无论如何,这些方法将在客户端执行。您可以拥有服务器端逻辑,但它不会是 SWF。
  • 不仅是 SWF,任何代码,无论是 C/C++、Java 还是任何其他客户端应用程序;客户端不安全。 SWF 非常容易反编译。当然,您可以在单独的 SWF 中包含一些逻辑并在运行时加载它,这将更难破解,因为您必须做 motr 而不仅仅是按下按钮,但仍然非常容易。我和你有过类似的情况。忘记保护 SWF,不要浪费时间,确保敏感数据在服务器上,这就足够了。 PS:大多数“黑客”寻找的是图形和动画,而不是代码;)
  • 您的应用程序本身是否敏感?如果您只想保护您的代码以防止“代码窃取”,那么只需进行一点混淆即可。大多数黑客不会关心你的代码,你将花费多少工作量并不重要。如果您必须保护必须在客户端发生的敏感数据或流程,那么代码保护可能需要研究一下,以阻止人们寻找它;但正如@CreativeMagic 所说,最好将所有敏感数据都放在服务器上。
  • Vesper 是的,你是对的,方法将在客户端执行。 Creative Magic 我希望他们只会窃取我的图形 我只使用 Flex 设计,就像 html :D。 @Aralicia “......最好将所有敏感数据都放在服务器上。”好主意,但例如,如果我想让服务器 ip 在我的代码中不可见,并且我想从服务器端获取 IP(通过 http 请求)并将其返回到客户端,然后连接到服务器,这个 http 请求将被接受只能来自我的客户,不能直接访问?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 2011-01-16
  • 1970-01-01
  • 2012-11-26
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多