PHPで関数を難読化し、中身をわかりにくくさせる方法を教えてください。
例えば、test.phpは
と書いているファイルです。
このファイルの中身を暗号化させるencrypt.phpファイルを作りたいです。
具体的には、関数を自動で置換し、読みにくくさせるということをやりたいです。
$pattern = "abcdefghijklmnopqrstuvwstwz";
//$GLOBALS['動的に生成されるランダムな英字'] = "printf";//となるように、動的に$pattern[19].[...]とつなぐ
イメージ
$GLOBALS['sifuhgi'] = $pattern[19].[$pattern[15]....;//printfとなるようにする
$GLOBALS'動的に生成されるランダムな英字';
//イメージ
$GLOBALS'sifuhgi';
$patternの文字列は動的に生成させる(普通にabcdeと書くと解読されやすいため)
これを、他の関数にも対応させる
このサイトをヒントに考えているのですが、わかりません。どのようにすればよいでしょうか
https://jelleraaijmakers.nl/2016/04/dissecting-spammers-spam-script
最終的にはencrypt.phpをつくり、スクリプトごと暗号化させたいです。
いまはただ単にtest.phpを少しだけ難読化させるencrypt.phpを作りましたが、この程度では一瞬で解読されますので、これを改良して難読化レベルをあげてほしいです。
解読できないファイルを作るのは不可能なので、できるだけ解読したくないと思わせるようなものを作りたいので、
よろしくお願いします。
$data.=php_strip_whitespace($infile);
$data=gzcompress($data,9);
$data=base64_encode($data);
$out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>';
file_put_contents($outfile,$out);
?>
test.phpをより複雑に難読化させられるのでしたら、encrypt.phpの手法はどのような方法でもかまいません。
test.phpという通常のphpファイルをtest_encrypted.phpという難読化されたファイルを生成させられるよう
encrypt.phpを改良してください。