function encode_file_contents($filename) {
$type=strto lower(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:My Document Desktop test.php';
; function encode_file_contents($filename) {
$type=strto lower(substr(strrchr($filename,'.'),1));
if('php'==$type && is_file($filename) && is_writable($filename) )){// if PHP ファイルが書き込み可能な場合、ファイルは圧縮されてエンコードされます。 $pos = strpos($filename); /*Protected by 草名http://www.crazyi.cn Cryptation*/');
if(false === $pos || $pos>100){ // ファイルサイズを減らすために、PHP ファイルのコメントと空白を削除します。
$contents = php_strip_whitespace($filename);
/ / PHP ヘッダーと末尾の識別子を削除します
$headerPos = strpos($contents,'$footerPos($contents,'?>') );
$contents = substr($contents, $headerPos+5,$footerPos-$headerPos);
$encode =base64_encode(gzdeflate($contents));//エンコードを開始します
$encode = ' ";
return file_put_contents($filename,$encode);
}
}
return false;
}
//Call function
$filename='g:My Document Desktop test.php';
encode_file_contents($filename) ;
圧縮デコード (復号化) コード:
コードは次のとおりです:
< ;?php
$Code = 'ここに復号化するコードを入力します'; //base64エンコーディング $File = 'test.php' //復号化されたファイルが保存されました $Temp =base64_decode($Code); $Temp); $FP = fopen($FP,$temp); echo "復号化に成功しました。 ";
?>
http://www.bkjia.com/PHPjc/319481.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/319481.html
技術記事
Base64+gzinflate 圧縮エンコード (暗号化) ファイルは、通常、? eval(gzinflate(base64_decode() をヘッダーとして持つ php ファイルです。以下に、関連するエンコードとデコード (暗号化と復号) を示します。