2016-12-28 142 views
-6

我一直在使用PHP桌面这很好,但如果我想共享一个项目,我不希望用户看到代码中的所有内容。PHP混淆器?

我试着建议的代码保护器,但似乎没有任何工作的当前版本。我发现了一个简单的PHP混淆器代码,但它提供了一个错误。它也会生成一些输出,但无法回显结果。

错误:

警告:php_strip_whitespace():未能打开流:C中没有错误:\ XAMPP \ htdocs中\ PHP混淆\ Obfus.php上线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; 

?> 

有谁知道如何解决这个问题,让阅读PHP难以让普通用户下载exe文件?

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

还有没有人有与当前版本的blenc等工作?即使遵循教程,我也没有运气。

+2

这个问题还有其他的错误你知道安全通过默默无闻吗? – BugHunterUK

+0

是的,它只是为了防止非编码器。我知道这不是一种保护代码的安全方法。 – zeddex

回答

4

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

在任何情况下,你都会遇到这种情况。通过模糊处理的安全性根本不是安全的。任何能胜任的程序员都会识别base64编码,并且解压缩压缩数据是微不足道的。然后,一个体面的IDE可以通过几个按键恢复丢失的空白。此外,您的代码及其eval(gzuncompress(base64_decode($a)))字面上告诉用户您首先对代码进行了混淆。

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

+0

谢谢,我也知道这不是一种安全的保护方法,这就是为什么我说“让阅读PHP对普通用户更难”。我只是想要一些基本的东西,让非编码员远离源码,即使是exe文件,反正也有反编译器。 – zeddex