Supportnet / Forum / Textverarbeitung
php datei decoden
Frage
hallo , ich ahbe eine verschlüsselte php datei , kann man die irgendwie decoden ?
Wäre auf schnelle Antwort froh
Antwort 1 von Supermax
Wie ist sie denn "verschlüsselt"? Wenn die Datei an sich lauffähig ist, dann ist sie nicht verschlüsselt sondern nur "obfuscated", d.h. die Lesbarkeit des Codes für menschliche Augen verringert, um "reverse engineering" zu erschweren.
Bleibt immer noch die Frage nach der Legalität deines Beweggrundes...
Bleibt immer noch die Frage nach der Legalität deines Beweggrundes...
Antwort 2 von apfelkuchen
da ist was in dem script mit decode 64 ich habe das schon mit nem echo gemacht , kommt aber nur kaudawäsch raus
Antwort 3 von apfelkuchen
also das ist nur ne otipsche verschlüsselung ... nur mann kans nicht sichbar machen also ich habe dies probiert http://de2.php.net/base64_decode
Antwort 4 von apfelkuchen
also genau was du geschrieben hast gibts ne möglichkeit da zu ändern?
Antwort 5 von Supermax
vielleicht kannst du ja mal einen Link zu dem Script posten (Endung des Scripts in .txt ändern oder .txt anhängen und das File auf irgenden Uploaddienst hochladen)
Antwort 6 von apfelkuchen
ok ist hier: http://pikachuchaos.de/search.php.txt
Antwort 7 von apfelkuchen
ups http://www.pikachuchaos.de/search.txt
Antwort 8 von Supermax
Ersetze einfach am in der Datei das Wort "eval" gegen "echo", dann bekommst du den Quelltext ausgegeben. Achte aber darauf, einen Editor zu verwenden, der keinen Zeilenumbruch macht, sonst bekommst du wieder nur Müll heraus!
Antwort 9 von apfelkuchen
oh vielen dank es klappt super 100000 dank
Antwort 10 von apfelkuchen
nur das problem ist das der script jetzt nicht mehr funktioniert
Antwort 11 von apfelkuchen
also wenn ich den script entschlüsselt in nem editor OHNE zeilenumbruche speiche und hochlade kommt wieder nur kaudawälsch raus
Antwort 12 von Supermax
Möglicherweise fragt das Script irgendwo ab, ob es in codierter oder lesbarer Form vorliegt, quasi als Schutz gegen die Decodierung.
Außerdem heißt es "Kauderwelsch", nicht "kaudawälsch".
Außerdem heißt es "Kauderwelsch", nicht "kaudawälsch".
Antwort 13 von apfelkuchen
ups kaudawelsch , bist du sicher , kann das nicht daran liegen , das der script von zeile für zeilge geschrieben ist also ohne enter ?
Antwort 14 von apfelkuchen
ich habe nochmal den code den ich rausbekommen habe ge encodet und da kan was ganz andere raus als das originale ich habe es mit diesem gemacht http://sls.web.psi.ch/goto.php/duo/obfuscate.php
Antwort 15 von apfelkuchen
ich bin schon etwas weitergekommen , ich habe bei dem ausgegebenem script rechtsklick , quellcode anzeigen , dann hatte ich den php code , nun suche ich einen base64 php coder ich will mal versuchen ob es dann funkt
Antwort 16 von apfelkuchen
ich habs hinbekommen war ganz schön kniffelig aber trozdem , soll ich die antwort also die lösung nochmal hier posten?
Antwort 17 von MixMax
Nun, wenn du die php-datei runterladen kannst, kannst die natürlich auch entschlüsseln. Im Grunde ist das nicht verschlüsselt sondern mit base64_decode kann man Binärdaten verpacken, so dass php-eigene Zeichen in eine für php-zeichen ungefährlichen String konvertiert wird.
mit einem kleinen script kann man das für alle PHP-Dateien machen.
Anmerkung:
der erste <?php und letzte ?> müssen entfallen, es kann nur php-code verschlüsselt werden. Es kann also kein ?> benutzt werden um php zu beenden und in html überzugehen. Ausgaben können z.B. mit echo gemacht werden.
mit einem kleinen script kann man das für alle PHP-Dateien machen.
<?php
$ENCO = "";
$DECO = "";
if ($_POST['decoded'] != "") {
$ENCO = '<'.'?'.'php
$N="'.base64_encode(stripslashes($_POST['decoded'])).'";eval(base64_decode($N));
?>';
}
if ($_POST['encoded'] != "") {
if (strpos($_POST['encoded'], "\"") > 0) {
$Start = strpos($_POST['encoded'], "\"");
$End = strpos($_POST['encoded'], "\"", $Start+1);
}
else {
$Start = strpos($_POST['encoded'], "'");
$End = strpos($_POST['encoded'], "'", $Start+1);
}
$DECO = base64_decode(substr($_POST['encoded'], $Start, $End-$Start));
}
?>
<form action="test.php" method="POST">
dekodiert:<br>
<textarea name="decoded" rows="14" cols="60"><?= $DECO ?></textarea><br>
<input type="submit" value="encode">
</form>
<form action="test.php" method="POST">
Enkodiert:<br>
<textarea name="encoded" rows="14" cols="60"><?= $ENCO ?></textarea><br>
<input type="submit" value="decode">
</form>
Anmerkung:
der erste <?php und letzte ?> müssen entfallen, es kann nur php-code verschlüsselt werden. Es kann also kein ?> benutzt werden um php zu beenden und in html überzugehen. Ausgaben können z.B. mit echo gemacht werden.
Antwort 18 von apfelkuchen
Ich habe doch schon gessagt das ichs hinbekommen habe^^
Antwort 19 von apfelkuchen
oh merke gerade dass der script doch nicht klappt ...
Antwort 20 von apfelkuchen
ich hatte den richtigen code , habe es nicht verändert , encodet und an der richtigen stelle eingesetztdoch es klappt nicht.
Antwort 21 von apfelkuchen
jetzt klappt es aber und danke für eure Hilfe!