有人用过PHP的混淆器吗?我试过一些,但它们不适用于非常大的项目。例如,它们不能处理包含在一个文件中而在另一个文件中使用的变量。
或者你有其他阻止代码传播的技巧吗?
有人用过PHP的混淆器吗?我试过一些,但它们不适用于非常大的项目。例如,它们不能处理包含在一个文件中而在另一个文件中使用的变量。
或者你有其他阻止代码传播的技巧吗?
当前回答
请参阅我们的SD Thicket PHP混淆器,它可以很好地处理任意大的页面集。它主要通过打乱标识符名称来操作。对于小型到大型应用程序,这可能会使代码极其难以理解,而这正是其全部目的。
它不会在“eval(decode(encodedprogramcode))”方案上浪费任何精力,这是很多PHP“混淆器”所做的[这些是“编码器”,而不是“混淆器”],因为任何clod都可以找到这个调用并自己执行eval-decode并获得解码的代码。
它使用语言精确的解析器来处理PHP;它会告诉你你的程序在语法上是否无效。更重要的是,它准确地了解整个语言;它不会丢失或混淆,它不会破坏你的代码(如果你混淆“不正确”会发生什么,例如,未能正确识别代码的公共API)。
是的,它混淆了页面上相同的标识符;如果它不这样做,结果就不会起作用。
其他回答
我见过最好的是Zend Guard。
人们会为您提供混淆器,但再多的混淆也不能阻止别人获取您的代码。一个也没有。如果你的电脑可以运行它,或者在电影和音乐的情况下,如果它可以播放,用户就可以得到它。即使将其编译为机器代码也会使工作变得更加困难。如果你使用混淆器,你只是在欺骗自己。更糟糕的是,您还不允许用户修复错误或进行修改。
音乐和电影公司还没有完全接受这一点,他们仍然在DRM上花费数百万美元。
在像PHP和Perl这样的解释性语言中,这是微不足道的。Perl曾经有很多代码混淆器,然后我们意识到可以简单地反编译它们。
perl -MO=Deparse some_program
PHP有DeZender和Show My Code。
我的建议?写个驾照,找个律师。唯一的其他选择是不提供代码,而是运行托管服务。
另请参阅有关该主题的perlfaq条目。
试试这个:http://www.pipsomania.com/best_php_obfuscator.do
最近我用Java写了它来混淆我的PHP项目,因为我在网上没有找到任何好的和兼容的现成的东西,我决定把它作为saas放在网上,这样每个人都可以免费使用它。它不改变不同脚本之间的变量名,以获得最大的兼容性,但是很好地混淆了它们,使用随机逻辑,每条指令也是如此。弦……一切。我相信它比这个有bug的代码eclipse要好得多,顺便说一句,那是用PHP写的,非常慢:)
请参阅我们的SD Thicket PHP混淆器,它可以很好地处理任意大的页面集。它主要通过打乱标识符名称来操作。对于小型到大型应用程序,这可能会使代码极其难以理解,而这正是其全部目的。
它不会在“eval(decode(encodedprogramcode))”方案上浪费任何精力,这是很多PHP“混淆器”所做的[这些是“编码器”,而不是“混淆器”],因为任何clod都可以找到这个调用并自己执行eval-decode并获得解码的代码。
它使用语言精确的解析器来处理PHP;它会告诉你你的程序在语法上是否无效。更重要的是,它准确地了解整个语言;它不会丢失或混淆,它不会破坏你的代码(如果你混淆“不正确”会发生什么,例如,未能正确识别代码的公共API)。
是的,它混淆了页面上相同的标识符;如果它不这样做,结果就不会起作用。
使用SourceGuardian很好,因为它有一个很酷且易于使用的GUI。
但要注意:
注意它的——相当有趣的——许可条款。
每台机器只允许运行1个-到目前为止这是可以接受的 如果你想在另一台机器上运行命令行界面,比如你的web服务器,你将需要另一个许可证(是的,这很有趣,我也能听到你的笑声)。