好吧,我发现这个 PHPGuard 似乎不是一个骗局,但它根本不起作用。
我在 PHP 5.4 服务器上做了一个简单的测试:info.php
<?php
phpinfo();
?>
info.prot.php
<?php $_F=__FILE__;$_C1808890765='P0U1P29+bzMzb35veVBkMiZ6azMzP0U=';$_D=strrev('edoced_46esab');
eval($_D('JF9DMTgwODg5MDc2NT1iYXNlNjRfZGVjb2RlKCRfQzE4MDg4OTA3NjUpOyRfQzE4MDg4OTA3NjU9c3Ryd
HIoJF9DMTgwODg5MDc2NSwnCUE7DVE+bmEpczJ1YigqQklve1hEZ35HVwpSNXI/VQBKM1pOODBFaWs3amNfJTEhdkh6
LHdNS3lbXS1ZFWRsYH09RmgmL1N0QzxWZkw2cDo5ZW1QNHEueCtPI1QnLCcsQXlXT3czdC8tb0x6SXUJKnA1LmNGaGU
xUzg8Ug17FToKX2RKQj5HOz8wWwByVWJaZykrNFFgaWslN302ZlAjfks9RChqc0gyTXZxJlZUYV1OQ25FWWw5IW14WC
cpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfQzE4MDg4OTA3NjUpO2V2YWwoJF9SKTskX
1I9MDskX0MxODA4ODkwNzY1PTA7'));?>
PHP错误日志
PHP Parse error: syntax error, unexpected '>' in /Dev/Projects/Gateway/info.prot.php(1) : eval()'d code(5) : eval()'d code on line 2
我认为它不会比这更简单:-P
无论如何,他们声称该代码不可恢复,这是普通的废话。在我有限的理解中,这只是一种混淆(比仅仅更改变量和函数名称更高级,但也更慢)。此外,该工具是一个 Windows exe,它不应该太难逆向工程以查看它实际上是如何创建编码字符串的。
好吧,至少支持人员联系了我,现在我向他们展示了这个测试。我猜他们会回复说 PHP 5.4 不兼容或者在这些方面的东西。
PS:一分钱一分货,60 美元购买了一个不起作用的糟糕混淆器。因此,如果您真的想对源代码进行编码,我会使用 Zend 或 Semantic Designs 之类的既定解决方案(如果您在 UNIX 上,甚至可以尝试 Facebook hiphop 的东西)。最后我没有听老板的话,部署了ol'plain源代码:-P
PS2:我真的很喜欢这个strrev('edoced_46esab')
部分,完全无法解码 :-D