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 相关文章推荐
PHP6 先修班 JSON实例代码
Aug 23 PHP
获取远程文件大小的php函数
Jan 11 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
Laravel5.1 框架响应基本用法实例分析
Jan 04 PHP
YII2框架使用控制台命令的方法分析
Mar 18 PHP
PHP代码覆盖率统计详解
Jul 22 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代码简化
2010/02/08 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
Python解析命令行读取参数之argparse模块
2019/07/26 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
小学三年级学生评语
2014/04/22 职场文书
小学生常见病防治方案
2014/06/06 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
个人求职自荐信范文
2015/03/06 职场文书
运动会报道稿大全
2015/07/23 职场文书