php专区

 首页 > php专区 > PHP应用 > 常用功能 > php 基于eval的 N层加密 gzinflate str_rot13 base64 破解方

php 基于eval的 N层加密 gzinflate str_rot13 base64 破解方

分享到:
【字体:
导读:
          PHP使用eval(gzinflate(str_rot13(base64_decode(lsquo;BASE64加密后内容rsquo;))))核心代码的解密下非扩展方式的php加密方法:这里有个在线的,还不错,木马防杀还行,要保护代码可就不行了,对应的......

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加密后内容’))))内加密的代码始终无法正常解密.

  1. //已经加密的文件内容 
  2. $a=”eval(gzinflate(str_rot13(base64_decode(‘这里面放BASE64代码’))));”; 
  3. function decodephp($a) { 
  4. $max_level=300; //最大层数 
  5. for($i=0;$i<$max_level;$i++) { 
  6. ob_start();//开源代码phpfensi.com 
  7. eval(str_replace(‘eval’,'echo’,$a)); 
  8. $a = ob_get_clean(); 
  9. if(strpos($a,’eval(gzinflate(str_rot13(base64_decode’)===false) { 
  10. return $a
  11. echo decodephp($a); 
  12. ?> 

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”)))内加密的代码始终无法正常解密,以下是代码:

  1. /* 
  2. Taken from [url]http://www.php.net/manual/de/function.eval.php#59862[/url] 
  3. Directions: 
  4. 1. Save this snippet as decrypt.php 
  5. 2. Save encoded PHP code in coded.txt 
  6. 3. Create a blank file called decoded.txt (from shell do CHMOD 0666 decoded.txt) 
  7. 4. Execute this script (visit decrypt.php in a web browser or do php decrypt.php in the shell) 
  8. 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] 
  9. ?> 

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]

  1. */ 
  2. echo “nDECODE nested eval(gzinflate()) by DEBO Jurgen 
  3. echo “1. Reading coded.txtn”; 
  4. $fp1 = fopen (“coded.txt”, “r”); 
  5. $contents = fread ($fp1filesize (“coded.txt”)); 
  6. fclose($fp1); 
  7. echo “2. Decodingn”; 
  8. while (preg_match(“/eval(gzinflate/”,$contents)) { 
  9. $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文档,打开此文档.里面就是那些被加密的原始代码.

分享到:
PHP中的 Mcrypt 可逆加密算法 - php高级...
PHP中的 Mcrypt 可逆加密算法  
PHP-5.3.9远程执行任意代码漏洞 - php高...
PHP-5.3.9远程执行任意代码漏洞 还记得我之前说的PHP Hash Collisions Ddos漏洞吧? 最初的时候,开发组给出的修复方案,采用的是如果超过max_input_vars,就报错(E_ERROR),继而导致PHP出错结束,而后来,为了更加轻量级的解决这个问题,我们又改善了一下,变成了如果超过max_input_vars,就发出警告(E...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……