【问题标题】:ioncube decryption in seconds [closed]离子立方体在几秒钟内解密[关闭]
【发布时间】:2013-05-21 19:48:14
【问题描述】:

我是一名 php 开发人员,目前正在寻找保护 php 代码的软件。我知道存在混淆器和编码器(以及两者).. 但似乎可以“解密”用某些软件编码的代码。

所以我的问题是……是否可以解密主要软件公司(zend、ioncube、sourceguardian)生产的源代码……为什么这些产品仍在市场上?

如果有人可以(付费)在几秒钟内解密所有内容,为什么这些软件继续销售?

顺便说一句,我在 ioncube 论坛上问过这个问题,我的消息被删除了。

问候。

【问题讨论】:

  • 你想保护你的源代码不受的影响? (请您作为所有想这样做的人的代表。)
  • @deceze:我们似乎总是发现自己在相同的问题上。至于 OP - 如果您需要 hide 您的代码,那么您做错了。虽然您的代码可能包含敏感位,但对其进行加密会与您希望它做的相反 - 它会让您的用户不信任它。

标签: php ioncube


【解决方案1】:

答案简单地归结为:因为有些笨蛋相信 PHP 可以“安全编码”,就像有些笨蛋相信要求应用程序的串行代码自动使其安全一样。

ionCube 依赖于一个非常简单的实现——从头到尾异或,这几乎不是“安全措施”。它作为 VM 运行 - 除了完全逆向工程之外,还容易受到所有 VM 侧信道攻击(此处的一个演示文稿:https://media.blackhat.com/ad-12/Saher/bh-ad-12-stealing-from-thieves-Saher-slides.pdf)。 ionCube会这么说吗?没有为什么?因为它阻止了大多数脚本小子。

我不熟悉 sourceguardian,但 Zend 以相同的方式构建,尽管它比 ionCube 更安全且更难破解。然而,虽然它们不是微不足道的,但它们也不是不可能被击败的。

以下内容来自 Zend Guard 页面:

编码是将 PHP 源代码转换为中间机器可读格式的过程。这种格式对于人类来说很难阅读并转换回源代码。因此,它可以保护您的代码免受休闲浏览。这意味着,如果人们获得了对您网站代码的访问权限,他们将无法将其用于非预期目的。

换句话说,如果您的用户不是随意浏览,这将不会成立。我不了解你,但我不知道有哪个非开发人员随便浏览源代码而没有理解它的目的,并且经常破坏它。

周围的每一种 DRM 方法都是如此。但是,它们仍在市场上。为什么?因为,虽然它们并不完美,但它们足够好可以说服大多数人。

这个法则和最终结论是:如果你建造它,预计它会被破坏并为此做好计划

【讨论】:

  • “比 ionCube 更安全一点”——第 3 方分析证实了相反的结果,但肯定可以分析任何系统以了解发生了什么,因此工具需要发展。添加到 ionCube V9 的动态密钥是一个飞跃,因为代码可以使用仅在运行时存在的密钥进行加密,在 PHP 应用程序本身需要时创建并防止现有的逆向工程方法起作用。虽然没有灵丹妙药,需要适当地使用工具,但如果使用得当且使用得当,它们将是有益的。
  • 您确实意识到您正在评论一个 5 年前的问题,对吧?此外,动态键也不是完全牢不可破的。它现在是一个密钥生成器,而不是您的密钥是静态数据。它使它更难打破,但并非不可能。密钥派生留给任何人实施的事实也可能导致这方面的弱化。
  • 动态密钥已被证明是有效的,因为它允许创建密钥生成器,即使反编译,也可能不会产生任何关于解密密钥是什么的线索。但是你当然是对的,总是有攻击媒介。在现实世界中,探索开锁运动和观看《开锁律师》是一种启示!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多