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 相关文章推荐
FleaPHP的安全设置方法
Sep 15 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP安全下载文件的方法
Apr 07 PHP
round robin权重轮循算法php实现代码
May 28 PHP
利用php生成验证码
Feb 23 PHP
ThinkPHP防止重复提交表单的方法实例分析
May 10 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 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
如何开始收听短波广播
2021/03/01 无线电
Thinkphp中的volist标签用法简介
2014/06/18 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
降低PHP Redis内存占用
2017/03/23 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python常用模块用法分析
2014/09/08 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
详解Python pygame安装过程笔记
2017/06/05 Python
Python Gitlab Api 使用方法
2019/08/28 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
database面试题
2013/03/28 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
美容院考勤制度
2014/01/30 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
2015年售票员工作总结
2015/04/29 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android