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

  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 "解密成功!";

  ?>