php base64_decode 解码方法

来源:互联网 发布:mac电脑双系统切换 编辑:程序博客网 时间:2024/04/30 02:44
下面简单介绍一下base64_decode+gzinflate压缩编码和解码代码方法,就是通常我们在程序中见的eval_r(gzinflate(base64_decode('加密代码')));形式的加密方法。

加密代码:

<?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 znz amznz.com');
if(false === $pos &#124;&#124;$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'."\neval_r(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 "解密成功!"; 
?>


实际应用:

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

<?php
$Code = 'bZA7b8MwDIR3/wpCQ9MudtCpaPxYOmTo1gIZC9mibSGyKEiM1QD98fUjWVovBHQ83n1QVSa50iM0RoZQiJaI0Yst8Yu/eV7UHrJynclDQ+56gOf9/gXyyvUOakOdti097qwccPd0gOp+k+QSeo9tIXpm95plMcaUyfGF04YGUb5fmmueyRK2jGQj4hmtCqnFCeSI0vPi5h4HBIVBdxbq6+a1IY8GdcR69d0KV3VJ+YE3HNGQQwUt+X8pSlvqKSyomShPWMNxemrbwQf6UTcY7jkUrSGp5iBPwyZPdAt1aD3imgis2WAhTuSV8xgCfC6OqeqPMtck+QQ0lrc5/3wCvw==';// 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.xxx.com/test.php。提示“解密成功”后,在服务器就可看到多了一个decoded.php文件了,打开一看,呵呵已经解密啦!

解密成功后的代码如:

<div class="footer">
<div class="footer_txt">
<br /><br/>
&copy; 2009 <?php bloginfo('name');?>
<br />
theme design by <a href="http://www.xxx.com">ZNZ</a> &#124; Downloaded from <ahref="http://www.xxx.com/"title="blog">znz'sblog</a>
</div></div>

然后把这个decoded.php修改为footer.php替换原文件,就可以了。

0 0
原创粉丝点击