【发布时间】:2019-08-07 21:57:24
【问题描述】:
我最近正在尝试选择一个混淆器,我尝试了这些我用谷歌搜索的:
https://www.gaijin.at/en/tools/php-obfuscator
http://www.pipsomania.com/best_php_obfuscator.do
https://www.tools4nerds.com/online-tools/php-obfuscator
他们在混淆变量名和函数名方面做得很好,但是他们都不能隐藏函数system,谁能告诉我这是为什么?
【问题讨论】:
-
顺便说一句,因为这最初是在 security.SE 上发布的:请注意混淆是 NOT 安全性的,并且 NOT 可以安全地存储秘密在源代码中。计算机可以计算出的任何东西——也就是说,它可以执行的任何脚本甚至二进制文件——人类也可以计算出来。混淆让阅读你的脚本变得更慢、更烦人,但它并没有让它变得不可能,甚至比最随意的逆向工程师更难劝阻。它还尖叫着“我在隐瞒一些事情!”肯定会找到任何存储的秘密,而且可能比您预期的要快得多。
-
哦,另外,从安全角度来看,使用
system是一个糟糕的、糟糕的想法。它在 shell(/bin/sh或cmd.exe)中运行您的命令,而不是直接运行它(这仍然有风险,但更容易安全地执行)。 Shell 提供了多种破解和执行任意代码的方法。绝大多数产生任意代码执行的成功远程攻击可能是 shell 转义。
标签: php obfuscation