php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总

php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总

来源:本站转载 作者:佚名 时间:2011-02-14 TAG: 我要投稿

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 http://www.php.net/manual/de/function.eval.php#59862
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 http://www.ariadoss.com/forums/web-development/lamp

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, 代码应该已经解密完成,如果出现错误请把代码发送到 http://www.ariadoss.com/forums/web-development/lamp
*/
echo "\nDECODE nested eval(gzinflate()) by DEBO Jurgen <mailto:[email protected]\n\n";
echo "1. Reading coded.txt\n";
$fp1 = fopen ("coded.txt", "r");
$contents = fread ($fp1, filesize ("coded.txt"));
fclose($fp1);
echo "2. Decoding\n";
while (preg_match("/eval\(gzinflate/",$contents)) {
$contents=preg_replace("/<\?|\?>/", "", $contents); eval(preg_replace("/eval/", "\$contents=", $contents)); } echo "3. Writing decoded.txt\n"; $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文档,
打开此文档.里面就是那些被加密的原始代码.
时间: 2024-10-11 01:44:12

php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总的相关文章

在SuperSocket中启用TLS/SSL传输层加密

关键字: TLS, SSL, 传输层加密, 传输层安全, 证书使用, X509Certificate SuperSocket 支持传输层加密(TLS/SSL) SuperSocket 有自动的对TLS/SSL的支持,你可以无须增加或者修改任何代码,就能让你的服务器支持TLS/SSL. 想要为你的 SuperSocket 服务器启用 TLS/SSL,你需要先准备好一个授权证书 你有两种方式提供证书: 1.一个带有私钥的 X509 证书文件 你可以通过 CertificateCreator in S

Discuz论坛写出的php加密解密处理类(代码+使用方法)

PHP加密解密也是常有的事,最近在弄相关的东西,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法,先把类代码帖上来: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php /*

转发:C#加密方法汇总

转自:C#加密方法汇总 方法一: 1 //须添加对System.Web的引用 2 using System.Web.Security; 3 ... 4 /// <summary> 5 /// SHA1加密字符串 6 /// </summary> 7 /// <param name="source">源字符串</param> 8 /// <returns>加密后的字符串</returns> 9 public stri

C#加密方法汇总(SHA1加密字符串,MD5加密字符串,可逆加密等)

using System;using System.Collections.Generic;using System.Text; namespace StringEncry{ class EncodeAndDecode { /// <summary> /// Base64加密 /// </summary> /// <param name="codeName">加密采用的编码方式</param> /// <param name=&qu

iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全

演示样例项目下载地址  https://github.com/cerastes/Encryption 1MD5 创建MD5类 #import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSString *)md5HexDigest:(NSString *)input; @end #import "CJMD5.h" #import <CommonCrypto/CommonDigest.h> @i

用Netcat,SSH构建的IP层加密隧道搭建VPN

[关于题外话在最后] 写作本文主要基于两点,首先是因为我前段时间写了几篇关于VPN的新解,收到了很多的邮件反馈,我也思考了很多,另一个方面是因为很多人问我怎么用QQ,P2P搭建一个IP层的VPN,我的回答是"我也不知道".我确实不知道,根本就没有试过,只是有个这样那样的想法...我主要是没有能力去Hack这些非Linux上的东西...所以说,我写这篇文章,用UNIX的方法"将多个小工具结合起来"实现我的那些没有实现的想法,抛砖引玉一下. 声明: 本文没有技术含量,甚

extmail 密码加密方式修改为plain-md5的方法

extmail默认密码加密方式是md5crypt,但是有些时候会遇到这样的问题--老的邮件系统中的用户密码是md5加密的. 此时需要将extmail的密码加密方式修改为md5,通过官方解释(md5和md5crypt没有区别),修改为plain-md5即可.但是,这只解决了web登陆的验证问题,没有解决smtp以及pop3的验证问题. 通过 http://www.extmail.org/forum/viewthread.php?tid=3175 帖子解决了验证问题,内容摘录如下: courier-

C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应位其中一个为1另一个为0,则返回1. //对数字加密 int P_int_Num, P_int_Key;//定义两个值类型变量 string Encryptstr = (P_int_Num ^ P_int_Key).ToString();//加密数值 //对数字解密 int P_int_Key, P_int_

加密方法汇总

1.C#加密算法总结 2.C# 常用加密方法收集 对称,非对称 3.C#使用RSA私钥加密公钥解密的改进,解决特定情况下解密后出现乱码的问题 4.Silverlight中非对称加密及数字签名RSA算法的实现 5.JavaScript DES 加密 6.各种加密解密函数(URL加密解密.sha1加密解密.des加密解密)网页版