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 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
重新认识php array_merge函数
Aug 31 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 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函数
2006/12/06 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
php数组和链表的区别总结
2019/09/20 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
JavaScript动态插入CSS的方法
2015/12/10 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python装饰器decorator介绍
2014/11/21 Python
Python读写Excel文件方法介绍
2014/11/22 Python
python中global用法实例分析
2015/04/30 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
房产公证书范本
2014/04/10 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫