php教程 基於eval的 N層加密 gzinflate str_rot13 base64 破解方法
PHP使用eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內容’))))核心代碼的解密
下非擴展方式的php加密方法:
這裡有個在線的,還不錯。木馬防殺還行,要保護代碼可就不行了。
對應的寫了一個簡單的解密的,
專門針對eval。這個原理很有用途。
特別說明:此解密程序好像一定得在PHP5上面使用,
我在PHP4上面測試eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內容’))))內加密的代碼始終無法正常解密.
<?php
//已經加密的文件內容
$a=”eval(gzinflate(str_rot13(base64_decode(‘這裡面放BASE64代碼’))));”;
function decodephp($a) {
$max_level=300; //最大層數
for($i=0;$i<$max_level;$i++) {
ob_start();
eval(str_replace(‘eval’,'echo’,$a));
$a = ob_get_clean();
if(strpos($a,’eval(gzinflate(str_rot13(base64_decode’)===false) {
return $a;
}
}
}
echo decodephp($a);
?>
php使用N層加密eval(gzinflate(base64_decode(“codes”)))的破解
首先申明一下,這個並非是我原創,是我轉自一個國外的BLOG上面的.自己測試了下.覺得很好用的.
如果您想看的是PHP使用eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內容’))))核心代碼的解密,請移步這裡查看:PHP使用eval(gzinflate(str_rot13(base64_decode(‘BASE64加密後內容’))))核心代碼的解密.
特別說明:此解密程序好像一定得在PHP5上面使用,
我在PHP4上面測試eval(gzinflate(base64_decode(“codes”)))內加密的代碼始終無法正常解密
以下是代碼:
<?php
/*
Taken from [url]http://www.php.net/manual/de/function.eval.php#59862[/url]
Directions:
1. Save this snippet as decrypt.php
2. Save encoded PHP code in coded.txt
3. Create a blank file called decoded.txt (from shell do CHMOD 0666 decoded.txt)
4. Execute this script (visit decrypt.php in a web browser or do php decrypt.php in the shell)
5. Open decoded.txt, the PHP should be decrypted if not post the code on [url]http://www.ariadoss.com/forums/web-development/lamp[/url]
gzinflate執行加密代碼的解密方法翻譯為中文後的文字(此段漢字原始文件裡面可沒.嘿)
1. 把這整段腳本保存為decrypt.php
2. 把需要解密的代碼保存為coded.txt並且和decrypt.php在同一目錄.
3. 創建一個空白文件命名為 decoded.txt (必須把 decoded.txt 的權限設置為CHMOD 0666,也就是可以寫入的.當然,你可以不創建文件文件.只要文件夾有寫入權限,腳本便會自動創建一個名為decoded.txt的文檔. )
4. 運行解密腳本 (浏覽器中運行decrypt.php 即訪問 http://您的域名/存放目錄/decrypt.php)
5. 打開 decoded.txt, 代碼應該已經解密完成,如果出現錯誤請把代碼發送到 [url]http://www.ariadoss.com/forums/web-development/lamp[/url]
*/
echo “nDECODE nested eval(gzinflate()) by DEBO Jurgen <mailto:[email protected]”;
echo “1. Reading coded.txtn”;
$fp1 = fopen (“coded.txt”, “r”);
$contents = fread ($fp1, filesize (“coded.txt”));
fclose($fp1);
echo “2. Decodingn”;
while (preg_match(“/eval(gzinflate/”,$contents)) {
$contents=preg_replace(“/<?|?>/”, “”, $contents); eval(preg_replace(“/eval/”, “$contents=”, $contents)); } echo “3. Writing decoded.txtn”; $fp2 = fopen(“decoded.txt”,”w”); fwrite($fp2, trim($contents)); fclose($fp2);
?>
再簡單的說下gzinflate,eval(gzinflate(base64_decode(“codes”)));decoding-eval-gzinflate-base64_decode的使用方法.
保存上面的程序文件decrypt.php,
當然文件名可以自己設置.
在此文件的同一目錄建立一個coded.txt,
這個裡面放的是加密過的代碼,也就是eval(gzinflate(base64_decode(“codes”)))當中的codes;
再說明白點就是是要解密的eval(gzinflate(base64_decode(“codes”)))裡面執行的密原文.
執行保存過的文件decrypt.php,這樣便會在同一目錄生成一個decoded.txt的txt文檔,
打開此文檔.裡面就是那些被加密的原始代碼.