PHP base64_decode+gzinflate压缩编码和解码代码

刚换了一个主题,却发现页脚footer.php被加密了,里面只有下面这样一段代码:

<? eval(gzinflate(base64_decode('
bZC9bsMwDITnFOg7XD21g+PdVWSgS7t1CZCxkCLa
EixLqqTECNCHrxX3ZwkXHu7IDyA7zh7qGpIG49B7
nymirvn93WbDGmXOq+qCDhgofySjSIr4+PSMrkR/
M0UvEkbtqhVTFRtggUNRMoMjBXlpwQR0pH5X6ZxD
2zTzPG8nMdLnyRzH7dFPFX931jjCgWQymfByMlZR
ZI3gEE7dRswktU/ZuGEgGtMKWgh4W12U9dcS4Qvi
LIwV0hL6SASRW+x9uIXNPswha5roB4mDjypESgn7
q124rAnLtVjq9yH/XXp1uQqdJ8tZ9w0=
'))); ?>

这让我咋整,我想添加一段统计代码都不知道加到哪里好,其实我也明白作者的意思,主要是不想有些人随便修改自己的版权和作者信息而已。可是我想加入自己的一些东西就比较麻烦了。怎么办?Google之。

在网上看到这样一篇文章PHP base64_decode+gzinflate压缩编码和解码代码,详细介绍了PHP base64_decode+gzinflate加密和解密的方法。

注意:解密时请不要用汉语及带空格的名字做文件名。

加密代码:

<?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,'powered by arzn QQ:1314778');
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'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";
return file_put_contents($filename,$encode);
}
}
return false;
}
//调用函数
$filename='code.php';
encode_file_contents($filename);
echo "OK,加密完成!"
?>

解密代码:

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

然后下面请注意,尤其是不懂PHP的筒子们!下面讲讲我这样一个没有PHP知识的人,解密那段代码的详细过程!

首先,打开你的文本编辑器,比如记事本,我用的是Notepad++,新建一个文本文件,按照那个解密代码,把我的那个footer.php文件里的密码输入进去,然后就类似下面:

<?php
$Code = 'bZC9bsMwDITnFOg7XD21g+PdVWSgS7t1CZCxkCLa
EixLqqTECNCHrxX3ZwkXHu7IDyA7zh7qGpIG49B7
nymirvn93WbDGmXOq+qCDhgofySjSIr4+PSMrkR/
M0UvEkbtqhVTFRtggUNRMoMjBXlpwQR0pH5X6ZxD
2zTzPG8nMdLnyRzH7dFPFX931jjCgWQymfByMlZR
ZI3gEE7dRswktU/ZuGEgGtMKWgh4W12U9dcS4Qvi
LIwV0hL6SASRW+x9uIXNPswha5roB4mDjypESgn7
q124rAnLtVjq9yH/XXp1uQqdJ8tZ9w0=
'; // base64编码
$File = 'decoded.php';//解码后保存的文件
$Temp = base64_decode($Code);
$temp = gzinflate($Temp);
$FP = fopen($File,"w");
fwrite($FP,$temp);
fclose($FP);
echo "解密成功!";
?>

那段红色的部分,就是我footer.php文件里面本身的加密的代码。然后把这个文件保存,随便起个名字,但是一定要是PHP格式,我的是test.php。注意:上面那个decoded.php就是解密完成后的文件名,这个你也可以修改。

然后,把这个test.php文件上传到你空间的根目录,其实其他目录也可以,但是需要能够web访问。我就直接放在博客的根目录了。

然后通过web访问,我的是http://www.nonozone.net/test.php。本来应该提示“解密成功”的,但是我没有看到,但是在服务器已经看到多了一个decoded.php文件了,打开一看,呵呵已经解密啦!!!解密后的文件是这样的!

        </div>
        <?php get_sidebar(); ?>
    </div>
    <div id="footer">
      <p> designed by: <a href="http://www.makequick.com">Online Website Builder</a> and: <a href="http://www.webhostinggeeks.com">Web Hosting </a>Geeks | available free at: Top<a href="http://www.topwpthemes.com"> Wordpress Themes</a></p>
    </div>
</div>
</body>
</html>

怎么样,这样看就比较正常了。然后把这个decoded.php修改为footer.php替代原本的文件,就OK了!

好啦,就这样了。写这个文章真累!

一个回复在 “PHP base64_decode+gzinflate压缩编码和解码代码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部