base64+gzinflate壓縮編碼(加密)過的檔案通常是以 eval(gzinflate(base64_decode( 為頭的一個php檔案。以下我們給出了相關的編碼解碼(加密解密)代碼。
壓縮編碼(加密)代碼:
複製程式碼 程式碼如下:
function encode_1_contents($name) {file_contents($name) {file_contents($name) {file_contents 🎜>$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,'$footerPos = strrpos($contents, '?>');
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode = base64_encode(gzdeflate($contents));// 開始編碼
$encode = '";
return file_put_contents($filename,$encode);
}
}
return false; >}
//呼叫函數
$filename='g:我的文件桌面test.php';
encode_file_contents($filename);
?>
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,'$headerPos = strpos($contents,' $footerPos = strrpos($contents,'?>');
$contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
$encode = base64_encode(gzdeflate($contents) );// 開始編碼
$encode = '";
return file_put_contents($filename,$encode);
}
}
}
return false;
}
//呼叫函數
$filename='g:我的文件桌面test.php';
encode_file_contents($filename);
?>
複製程式碼 程式碼如下: