جرب هذا
كود PHP:
$nom_fichier = 'mon_script_a_encoder.php';
$fichier = trim(file_get_contents($nom_fichier));
$fichier = preg_replace("/^<\?(php)?/", '', $fichier);
$fichier = preg_replace("/\?>$/", '', $fichier);
echo '<h1>Encodage</h1>';
echo '<p>Nom : '.$nom_fichier.'</p>';
$b64 = base64_encode($fichier);
echo '<p>Base 64 : '.$b64.'</p>';
$tr = strtr($b64, "kCV]4m.DNvM>lstIKLBE6}ghf8[QAowPSR9ibX3cO{up=0anq27j
F1eJx/UWGrzHT<5yZYd","ACv.sfKXY{dEn58wjIBToFUtb9>gL}=
kqeZ0RuD[4lz Om<12PyHSWJGp7MaiVQr/cN]h63x");
echo '<p>Translation : '.$tr.'</p>';
$enc = "\$__c='".$tr."';";
$enc .= "\$__s=strtr(\$__c,\"ACv.sfKXY{dEn58wjIBToFUtb9>gL}=
kqeZ0RuD[4lz Om<12PyHSWJGp7MaiVQr/cN]h63x\",\" kCV]4m.DNvM>lstIKLBE6}ghf8[QAowPSR9ibX3cO{up
=0anq27jF1eJx/UWGrzHT<5yZYd\");";
$enc .= '$__d=strrev("edoced_46esab");eval(\'$__x=$__d("$__s");\');eval($__x);';
echo <'h1>Résultat</h1>';
echo '<textarea cols="100" rows="10">';
echo <'?php '.$enc.' ?>';
echo '</textarea>';</p>
Le décodeur fait l'opération inverse : il remet les données dans le bon ordre, applique unbase_64decode()et lance le script grâce à un eval() bye