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


Posted in PHP onOctober 03, 2008

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 相关文章推荐
遍历指定目录下的所有目录和文件的php代码
Nov 27 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
php数组使用规则分析
Feb 27 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php实现的mongodb操作类实例
Apr 03 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
php fread函数使用方法总结
May 28 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 #PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 #PHP
smarty section简介与用法分析
Oct 03 #PHP
php相当简单的分页类
Oct 02 #PHP
php仿discuz分页效果代码
Oct 02 #PHP
php仿ZOL分页类代码
Oct 02 #PHP
php生成缩略图的类代码
Oct 02 #PHP
You might like
php 获取本地IP代码
2013/06/23 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python比较两个列表大小的方法
2015/07/11 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python 异常处理总结
2016/10/18 Python
彻底理解Python list切片原理
2017/10/27 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
村干部培训班主持词
2014/03/28 职场文书
《春天来了》教学反思
2014/04/07 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
高校教师个人总结
2015/02/10 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
python非标准时间的转换
2021/07/25 Python
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python