欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP eval加密的破解方法

程序员文章站 2022-04-28 20:22:04
...
今天我们来深入的了解一下PHP语言的深层次概念。

特别说明:此PHP eval加密解密程序好像一定得在PHP5上面使用,

我在PHP4上面测试eval(gzinflate(base64_decode("codes")))内加密的代码始终无法正常解密

以下是PHP eval加密破解的代码:

  1. ?php
  2. /*
  3. Taken from http://www.php.net/manual/
    de/function.eval.php#59862
  4. Directions:
  5. 1. Save this snippet as decrypt.php
  6. 2. Save encoded PHP code in coded.txt
  7. 3. Create a blank file called decoded.txt
    (from shell do CHMOD 0666 decoded.txt)
  8. 4. Execute this script (visit decrypt.php in
    a web browser or do php decrypt.php in the shell)
  9. 5. Open decoded.txt, the PHP should be decrypted
    if not post the code on http://www.ariadoss.
    com/forums/web-development/lamp
  10. gzinflate执行PHP eval加密代码的解密方法翻译为中文后的文字
    (此段汉字原始文件里面可没.嘿)
  11. 1. 把这整段脚本保存为decrypt.php
  12. 2. 把需要解密的代码保存为coded.txt并且和decrypt.php在同一目录.
  13. 3. 创建一个空白文件命名为 decoded.txt (必须把 decoded.
    txt 的权限设置为CHMOD 0666,也就是可以写入的.当然,你可以
    不创建文件文件.只要文件夹有写入权限,脚本便会自动创建一个
    名为decoded.txt的文档. )
  14. 4. 运行PHP eval加密解密脚本 (浏览器中运行decrypt.php 即访问 http:
    //您的域名/存放目录/decrypt.php)
  15. 5. 打开 decoded.txt, 代码应该已经解密完成,如果出现错误请
    把代码发送到 http://www.ariadoss.com/forums/web-
    development/lamp
  16. */
  17. echo "nDECODE nested eval(gzinflate()) by DEBO
    Jurgen
    mailto:jurgen@person.benn";
  18. echo "1. Reading coded.txtn";
  19. $fp1 = fopen ("coded.txt", "r");
  20. $contents = fread ($fp1, filesize ("coded.txt"));
  21. fclose($fp1);
  22. echo "2. Decodingn";
  23. while (preg_match("/eval(gzinflate/",$contents)) {
  24. $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);
  25. ?>

再简单的说下gzinflate,eval(gzinflate(base64_decode("codes")));decoding-eval-gzinflate-base64_decode的使用方法.
保存上面的程序文件decrypt.php,当然文件名可以自己设置.

在此文件的同一目录建立一个coded.txt,这个里面放的是PHP eval加密过的代码,也就是eval(gzinflate(base64_decode("codes")))当中的codes;

再说明白点就是是要解密的eval(gzinflate(base64_decode("codes")))里面执行的密原文.执行保存过的文件decrypt.php,这样便会在同一目录生成一个decoded.txt的txt文档,打开此文档.里面就是那些PHP eval加密的原始代码.