PHP 混淆器?

问题描述 投票:0回答:2

我一直在使用 PHP Desktop,效果很好,但是如果我想共享一个项目,我不希望用户看到代码中的所有内容。

我尝试了建议的代码保护器,但似乎对当前版本没有任何作用。我找到了一个简单的 PHP 混淆器代码,但它给出了一个错误。它还会生成一些输出但无法回显结果。

错误:

Warning: php_strip_whitespace(): failed to open stream: No error in C:\xampp\htdocs\PHP Obfuscator\Obfus.php on line 11

代码:

<?php

//$infile = file_get_contents("Input.php");
$infile = '<?php echo "Hello World 123"; ?>';
$outfile = "Output.php";

echo "Processing $infile to $outfile\n";

$data="ob_end_clean();?>";

$data.=php_strip_whitespace($infile); // Remove whitespace
$data.=gzcompress($data,9); // Compress data
$data=base64_encode($data); // Encode in base64

// Generate output text
$out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>';

// Write output text
//file_put_contents($outfile,$out);
echo $out;

?>

有谁知道如何修复此代码,使下载 exe 的普通用户更难阅读 PHP?

这只是为了防止非编码人员,因为它会被打包在一个 exe 中,我知道这不是隐藏代码源的安全方法。

还有人有 blenc 等与当前版本一起使用吗?即使按照教程进行操作,我也没有运气。

php obfuscation
2个回答
4
投票

php_strip_whitespace()
的参数必须是文件名,而不是原始字符串。将数据写入临时文件,然后清理它,完成后删除临时文件。

无论如何,你都错了。通过混淆实现的安全根本不是真正的安全。任何有能力的程序员都会识别 base64 编码,解压缩压缩数据是微不足道的。然后,一个像样的 IDE 可以通过几次击键来恢复丢失的空格。此外,您的代码带有

eval(gzuncompress(base64_decode($a)))
,从字面上告诉用户您首先做了什么来混淆代码。

如果您不希望用户访问源代码,请不要分发源代码。使用 API 或编译器,而不是混淆器。


0
投票

如果我经常使用这个: 最好的 php 混淆器:http://php-obfucator.unaux.com/

为我的php代码加密

© www.soinside.com 2019 - 2024. All rights reserved.