0

我的公司担心我们的 PHP 代码被另一家可以访问同一服务器的公司窃取,因此他们购买了 PHPGuard (phpguard.net)。

加密文件或文件夹后,它只创建一个 .prot 文件/文件夹,并且源保留在那里。如果源被删除,那么代码将不会被执行(显然)。该软件没有附带任何执行加密代码的工具,所以我想知道这将如何工作。

我开始认为这只是一个骗局,有人在使用它吗?它应该如何工作?

PS:我知道这不是一个编程问题,但我现在不得不部署到服务器,因为我的公司担心代码被盗,所以我的修复非常糟糕......

4

1 回答 1

1

好吧,我发现这个 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

于 2013-08-09T11:40:48.993 回答