首页 > PHP > PHP脚本 > 正文

php 代码解密
2011-11-03 20:26:15   来源:   评论:0 点击:

php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密直接将eval替换成echo,结果页面为空白!真郁闷,这招可是百发百中的...

php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密 直接将eval替换成echo,结果页面为空白!真郁闷,这招可是百发百中的啊,今天遇到了高人写的代码。。。 
慢慢替换,将长变量替换成短的,增强代码可读性。 
复制代码 代码如下:

 



  1. < ?php 
  2. if (!function_exists("bear01″)) 
  3. function bear01($bear02) 
  4. $bear02 = base64_decode($bear02); 
  5. $bear01 = 0; 
  6. $bear03 = 0; 
  7. $bear04 = 0; 
  8. $bear05 = (ord($bear02[1]) < < 8) + ord($bear02[2]); 
  9. $bear06 = 3; 
  10. $bear07 = 0; 
  11. $bear08 = 16; 
  12. $bear09 = ""; 
  13. $bear10 = strlen($bear02); 
  14. $bear11 = __FILE__; 
  15. $bear11 = file_get_contents($bear11); 
  16. $bear12 = 0; 
  17. preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"), $bear11, $bear12); ///(print|sprint|echo)/ 
  18. for (;$bear06< $bear10;) 
  19. if (count($bear12)) exit; 
  20. if ($bear08 == 0) 
  21. $bear05 = (ord($bear02[$bear06++]) < < 8); 
  22. $bear05 += ord($bear02[$bear06++]); 
  23. $bear08 = 16; 
  24. if ($bear05 & 0×8000) 
  25. $bear01 = (ord($bear02[$bear06++]) < < 4); 
  26. $bear01 += (ord($bear02[$bear06]) >> 4); 
  27. if ($bear01) 
  28. $bear03 = (ord($bear02[$bear06++]) & 0x0F) + 3; 
  29. for ($bear04 = 0; $bear04 < $bear03; $bear04++) 
  30. $bear09[$bear07+$bear04] = $bear09[$bear07-$bear01+$bear04]; 
  31. $bear07 += $bear03; 
  32. else 
  33. $bear03 = (ord($bear02[$bear06++]) < < 8); 
  34. $bear03 += ord($bear02[$bear06++]) + 16; 
  35. for ($bear04 = 0; $bear04 < $bear03; $bear09[$bear07+$bear04++] = $bear02[$bear06]); 
  36. $bear06++; $bear07 += $bear03; 
  37. else 
  38. $bear09[$bear07++] = $bear02[$bear06++]; 
  39. $bear05 < <= 1; 
  40. $bear08–; 
  41. if ($bear06 == $bear10) 
  42. $bear11 = implode("", $bear09); 
  43. $bear11 = "?".">".$bear11."< "."?"; 
  44. return $bear11; 
  45. }
复制代码

eval(bear01("一大堆貌似base64_encode后的代码")); ?> 
其中 
preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv"), $bear11, $bear12); 
显得格外扎眼 ,decode出来就是 
/(print|sprint|echo)/ 
哈哈,echo就在里面,将 
/(print|sprint)/ 
base64_encode一下然后替换,eval替换成echo输出,被隐藏的代码终于重见天日。 
其实简单的就是分三步即可:
第一步:搜索preg_match(base64_decode("LyhwcmludHxzcHJpbnR8ZWNobykv")替换为:preg_match(base64_decode("LyhwcmludHxzcHJpbnQpLw==")即可
第二步:将eval(T7FC56270E7A70FA81A5935B72EACBE29字符串中的下面的eval替换为echo或print即可
第三步:然后查看源文件即可看到php代码(右键-查看源文件)。

相关热词搜索:php 代码

上一篇:PHP安全配置详解
下一篇:mod_fcgid php通过swfupload上传500

分享到: 收藏
评论排行