PHP-Script Encoder

bossi

Erfahrenes Mitglied
Hallo zusammen,
ich habe eine PHP-Script verschlüsselung bei dox.de gefunden:
PHP-Script Encoder
Der erzeigte Code sieht schon echt gut aus und wollte mir mal sowas selber bastelen :)
Ich rede hier von der "Hohe Kodierung"
Kommae aber nur bis 2 Ebenen :rolleyes:
PHP:
<?php
$str1 = <<<html
echo "String1";
html;
$x=base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".$x."));");


$str1 = <<<html
echo "String2";
html;
$x=$str2.base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".$x."));");

/* $str1 = <<<html
echo "String3";
html;
$x=$str2.base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".$x."));"); */



echo '<textarea cols="80" rows="6">'.base64_decode($str2).'</textarea><br>';
eval(base64_decode($str2));
?>
Kalammer ich jetzt die 3te aus, kommt eine Fehlermeldung :mad:
Kann mir da mal einer aus die Sprünge helfen :confused:

Gruß
Bossi
 
Sehe da gerade keinen Sinn drin, aber dannach war ja nicht gefragt.
Für mich wäre es interessant auch die Fehlermeldung zu wissen, denn sonst weiss ich nicht wo ich anfangen soll.
 
Der Fehler ist, dass die base64_decode()-Funktion eine Zeichenkette erwartet. Die Anweisung müsste also wie folgt lauten:
PHP:
$str2 = base64_encode("eval(base64_decode(".var_export($x, true)."));");
 
Der Fehler ist, dass die base64_decode()-Funktion eine Zeichenkette erwartet. Die Anweisung müsste also wie folgt lauten:
PHP:
$str2 = base64_encode("eval(base64_decode(".var_export($x, true)."));");

PHP:
<?php
$str1 = <<<html
echo "String1";
html;
$x=base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".var_export($x, true)."));");

$str1 = <<<html
echo "String2";
html;
$x=$str2.base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".var_export($x, true)."));");

$str1 = <<<html
echo "String3";
html;
$x=$str2.base64_encode($str1);
$str2 = base64_encode("eval(base64_decode(".var_export($x, true)."));");
#$str2 = base64_encode("eval(base64_decode(".$x."));");

echo '<textarea cols="80" rows="6">'.base64_decode($str2).'</textarea><br>';
eval(base64_decode($str2));
?>
Bekomme ich nur noch String1 satt String1String2String3 ausgegeben :confused:
 
Base64-Codes können auch nicht einfach aneinandergehängt werden, da sie bereits in sich geschlossen sind.
 
In meiner Version oben ohne String3, habe ich die Ausgabe String1String2
Nur mit wen die String3 dazu kommt, kommt halt die Fehlermeldung und mit deiner Variante habe ich nur Sting1
 
So Leutz,
ich bin auf eine Seite gestossen: http://www.d0x.de/encoder/php-script_encoder.php
Die haben eine Hohe Kodierung, hinter der ich nicht komme :rolleyes:
Die einfach version bekomm ich auch hin, aber die Hohe leider nicht :(
aus:
PHP:
<? echo "Hallo"; ?>
wird:
PHP:
<?php
eval(gzinflate(base64_decode(
'Dc/bckNAAADQdz8SxoMIQiadZlaRNoLUJZJ96bgsUhvZsAhf354/OLv3tx2pCIOG'
.'BLPlfGsKnFDEpkmH1vJPjrJHjtgFY2Sqa9YHAIBR9q9CnyISXpfPvUjCos0bvLTj'
.'6hJE+1UmlWtE1bLTeNWTeDGi3awPuD/7dIWCDzu6eKsYbgg/+1GSfpmUn6r45BqK'
.'mfp9fS3V7wTOiuWsS4WQ++k51lgHkek6OLjLezSGUJMm2VArIx70Wzg+wAig0HZV'
.'a2vA27Sy/ulA2lii+RtIcUjAEXczFQ8aeh0tfBahWAuSIyw4jtsyu//8Hw=='
)));
?>
Die verschachteln das ganze, aber wie macht man das :confused:
 
Auch diese Kodierung ist kein Wunderwerk, und auch nicht wirklich sicher, denn sie kann zu leicht rueckgaengig gemacht werden.
Das einzig wirklich sinnvolle duerfte hier die Umwandlung in Bytecode sein, denn dieser kann auch noch ausgefuehrt werden und sogar schneller als normaler PHP-Code.

Bei allem was hier bisher angesprochen wurde hast Du Performanceeinbussen.

Dein letztes Beispiel jagt den Code lediglich durch base64_encode() und anschliessend durch gzdeflate(). Es handelt sich also um gzip-komprimierten Base64-kodierten PHP-Code.

Eventuell koennte ein Blick auf Turck MMCache for PHP fuer Dich interessant sein.
 
Zurück