当前位置:首页 > 技术支持

eval(gzinflate(base64_decode)) 加解密

发布时间:2012-7-10  作者:郑州网络公司施展网络   打印  关闭

base64+gzinflate压缩编码(加密)过的文件通常是以 <? eval(gzinflate(base64_decode( 为头的一个php文件。以下我们给出了相关的编码解码(加密解密)代码。 
压缩编码(加密)代码: 

复制代码代码如下:
<?php 
function encode_file_contents($filename) { 
$type=strtolower(substr(strrchr($filename,'.'),1)); 
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码 
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理 
$pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/'); 
if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小 
$contents = php_strip_whitespace($filename); 
// 去除PHP头部和尾部标识 
$headerPos = strpos($contents,'<?php'); 
$footerPos = strrpos($contents,'?>'); 
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos); 
$encode = base64_encode(gzdeflate($contents));// 开始编码 
$encode = '<?php'." /*Protected by 草名 http://www.crazyi.cn Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>"; 
return file_put_contents($filename,$encode); 


return false; 

//调用函数 
$filename='g:\我的文档\桌面\test.php'; 
encode_file_contents($filename); 
?> 
<?php 
function encode_file_contents($filename) { 
$type=strtolower(substr(strrchr($filename,'.'),1)); 
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码 
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理 
$pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/'); 
if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小 
$contents = php_strip_whitespace($filename); 
// 去除PHP头部和尾部标识 
$headerPos = strpos($contents,'<?php'); 
$footerPos = strrpos($contents,'?>'); 
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos); 
$encode = base64_encode(gzdeflate($contents));// 开始编码 
$encode = '<?php'." /*Protected by 草名 http://www.crazyi.cn Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>"; 
return file_put_contents($filename,$encode); 


return false; 

//调用函数 
$filename='g:\我的文档\桌面\test.php'; 
encode_file_contents($filename); 
?> 

压缩解码(解密)代码: 
复制代码代码如下:
<?php 
$Code = '这里填写要解密的编码'; // base64编码 
$File = 'test.php';//解码后保存的文件 
$Temp = base64_decode($Code); 
$temp = gzinflate($Temp); 
$FP = fopen($File,"w"); 
fwrite($FP,$temp); 
fclose($FP); 
echo "解密成功!"; 

?>

 

总有人去搞这些无聊的加密,解密程序内容:
<?
$str=gzinflate(base64_decode('FZdFssTgeUW3 ..以前的内容... 33//4z7//5z//Bw=='));
while (preg_match("/base64_decode\('.*?'\)/s",$str)){
   if (preg_match("/eval\(gzinflate\(base64_decode\('(.*?)'\)\)\);/s",$str,$reg)){
     $s=gzinflate(base64_decode($reg[1]));
     $str=str_replace("eval(gzinflate(base64_decode('$reg[1]')));",$s,$str);
   }
   elseif (preg_match("/eval\(gzinflate\(str_rot13\(base64_decode\('([^']*)'\)\)\)\);/",$str,$reg)){
     $s=gzinflate(str_rot13(base64_decode($reg[1])));
     $str=str_replace("eval(gzinflate(str_rot13(base64_decode('$reg[1]'))));",$s,$str);
   }
   else break;
   $str=str_replace('<? ?>','',$str);
}
echo $str;
?>

上面程序运行以后就能输出解密后的内容了。

本文由郑州网站建设公司施展网络原创发布,转载请注明出处。