求 php 解密eval(gzinflate(str_rot13(base64_decode

2025-06-26 05:50:03
推荐回答(1个)
回答1:

这样加密作者很无赖和变态,因为明明知道这样的加密破解是易如反掌的,而却还变态的把代码加密无数次。

我写了下面两个PHP文件:

//B.PHP
$str=file_get_contents('2.txt');
while (preg_match("/eval\(gzinflate\(str_rot13\(base64_decode\('([^']*)'/",$str,$match)){
$fp=fopen('1.txt','w');
fputs($fp,$match[1]);
fclose($fp);
system('php a.php');
$str=file_get_contents('2.txt');
}
?>

//A.PHP
$str=file_get_contents('1.txt');
$str=base64_decode($str);
$str=str_rot13($str);
$str=gzinflate($str);
$fp=fopen('2.txt','w');
fputs($fp,$str);
fclose($fp);
?>

把你的代码保存为2.TXT,在CMD下运行下面的命令:
PHP B.PHP
过一会程序执行完毕,2.TXT就是解密后的代码。

解密后的程序代码如下:

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/FZWBJW.TTF";
$font1 = "./fonts/Tattoo.TTF";
$imp = imagecreatefromJPEG('images/7.jpg');
$dim=getimagesize('images/7.jpg');
$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);