2011-05-18 85 views
1

此主題在這裏已經被詢問了很多。
我試圖閱讀其中的一些,但不幸的是我找不到答案。
我想創建我自己的PHP混淆器的版本,就像byterun那樣。
例如:編碼或混淆PHP代碼

<?php 
echo "Hello World"; 
?> 

到:

<?php $_F=__FILE__;$_X='Pz48P3BocA0KNWNoMiAiSDVsbDIgVzJybGQiOw0KPz4='; 
eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLC 
cxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GS 
UxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?> 

我不是在尋找一個工具,如何創建編碼的PHP代碼。我正在尋找如何創建或加密PHP代碼的過程。至少有一個起點來做我的研究。
任何指導非常感謝。

感謝
伊萬

+3

你意識到這完全沒有價值作爲防盜措施? (只是爲了確保) – 2011-05-18 19:18:21

+0

「編碼或混淆PHP代碼」,「加密PHP代碼」。加密和混淆是非常不同的事情。你想要做什麼? – webbiedave 2011-05-18 19:19:14

+0

@皮卡:是的,我完全理解。我只想餵我飢餓的頭腦。 – Ivan 2011-05-18 19:43:15

回答

2

一個非常準系統版本將

<?php 

$po = '<' . '?php'; 
$pc = '?' . '>'; 

$input = 'file.php'; 
$code = file_get_contents($input); 

$encoded = base64_encode($code); 

$encoded_script = <<<EOL 
$po 

eval(base64_decode($encoded)); 

$pc 
EOL; 

file_put_contents('encoded.php', $encoded_script); 

商業混淆器做的就是添加混淆的額外水平的唯一的事情 - 重命名變量爲非有意義的垃圾。也許可以改變編碼方法,將源腳本分成多個塊,並且每個塊的編碼方式不同,等等......

但最後,它歸結爲無用的垃圾,它可以保護溼紙巾。