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(); //开源代码phpfensi.com 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:jurgen@person.benn]; 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文档,打开此文档.里面就是那些被加密的原始代码.
查看更多关于php 基于eval的 N层加密 gzinflate str_rot13 base64 破解方的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30038