找回密码
 注册账户
查看: 593|回复: 0

PHP base64+gzinflate压缩编码和解码

[复制链接]
huake00 发表于 2008-12-26 18:38:00 | 显示全部楼层 |阅读模式
压缩编码(加密)代码:

<?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 huake00|www.cnlabs.net 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  huake00|www.cnlabs.net  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 "解密成功!";
?>

[ 本帖最后由 huake00 于 2008-12-26 18:40 编辑 ]
您需要登录后才可以回帖 登录 | 注册账户

本版积分规则

存档|黑屋|手机|网络实验室 本站服务器由美国合租以及IDCLayer国际数据提供!!!

GMT+8, 2026-6-9 23:38 , Processed in 0.008578 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表