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

 更新时间:2008年10月03日 16:33:03   作者:  
base64+gzinflate压缩编码(加密)过的文件通常是以 <? eval(gzinflate(base64_decode( 为头的一个php文件。文中给出了编码和解码的代码。
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 "解密成功!";
?>

相关文章

  • php PDO判断连接是否可用的实现方法

    php PDO判断连接是否可用的实现方法

    下面小编就为大家带来一篇php PDO判断连接是否可用的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • php 团购折扣计算公式

    php 团购折扣计算公式

    php 团购折扣计算公式,因为最近需要调用天天团购程序的数据,代码比较不好找,所以直接自己写个代码读取mysql的数据。
    2011-11-11
  • PHP测试程序运行时间的类

    PHP测试程序运行时间的类

    今天,为了测试一断程序的运行时间,特意写了这么一个类,并添加了注释,希望对大家有所帮助
    2012-02-02
  • php-accelerator网站加速PHP缓冲的方法

    php-accelerator网站加速PHP缓冲的方法

    我们知道 Zend 有免费的优化引擎针对 PHP 而作,但是 FreeLAMP 这次采用的是一个叫做 PHP Accelerator 的缓冲产品。
    2008-07-07
  • php debug 安装技巧

    php debug 安装技巧

    软件开发的断点调试是必不可少,这里介绍ubuntu10.04中eclipse工具中php的调试配置。
    2011-04-04
  • PHP页面跳转操作实例分析(header方法)

    PHP页面跳转操作实例分析(header方法)

    这篇文章主要介绍了PHP页面跳转操作,结合实例形式对比分析了HTML跳转与php使用header方法跳转的相关操作技巧与注意事项,并给出了一个跳转的封装函数供大家参考,需要的朋友可以参考下
    2016-09-09
  • PHP中怎样防止SQL注入分析

    PHP中怎样防止SQL注入分析

    这篇文章主要介绍了PHP中怎样防止SQL注入分析,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • PHP统计数值数组中出现频率最多的10个数字的方法

    PHP统计数值数组中出现频率最多的10个数字的方法

    这篇文章主要介绍了PHP统计数值数组中出现频率最多的10个数字的方法,涉及php中array_count_values与arsort等方法的相关使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 一键生成各种尺寸Icon的php脚本(实例)

    一键生成各种尺寸Icon的php脚本(实例)

    下面小编就为大家带来一篇一键生成各种尺寸Icon的php脚本(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 浅析php静态方法与非静态方法的用法区别

    浅析php静态方法与非静态方法的用法区别

    下面小编就为大家带来一篇浅析php静态方法与非静态方法的用法区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05

最新评论