Hallo, ich möchte mit objdump Assembler rückgewinnen und zwar nicht unbedingt in der bestlesbaren Form, dafür aber soll dieser nach dem Einfügen von zusätzlichen Zeilen wieder assemblierbar sein. Ich will zum Debuggen an eine Eintrittstelle in der Funktion den Code einfügen, der mir einen Pin setzt. Ich kann mir vorstellen, dass ich der erste Mensch auf der Welt bin, der dieses Feature haben will. Danke im Voraus. Gruss, Daniel
Du wärst jedenfalls der erste Mensch, bei dem das funktioniert. Es stehen dermassen viele Adresskonstanten im Code drin, dass eine Verschiebung absolut tödlich ist. Das läuft anders, wenn auch wenig elegant: Dort wo der Patch rein soll landet statt des vorhandenen Codes ein manuell eingefügter Sprungbefehl in einem bisher freien Bereich vom Flash, dort wird der ersetzte Befehl und das neu hinzukommende plaziert und anschliessen springt man wieder zurück.
Ich hab mich etwas verschrieben in dem ersten Post: ich kann mir nicht vorstellen, dass ich der erste Mensch bin der so etwas braucht ... :) >Das läuft anders, wenn auch wenig elegant: Dort wo der Patch rein soll >landet statt des vorhandenen Codes ein manuell eingefügter Sprungbefehl >in einem bisher freien Bereich vom Flash, dort wird der ersetzte Befehl >und das neu hinzukommende plaziert und anschliessen springt man wieder >zurück. Mmm, das läuft auf die Hexeditorfuchtelei hinaus. Die vielen Adresskonstanten soll ja gerade ein Programm korrekt händeln. Ein kurzes Drüberschauen über die Optionen von objdump und Ausprobieren der selbigen hat mir zumindest Hoffnung gemacht, dass sowas möglich ist. Grüsse
Man kann Disassembler so schreiben, dass die viele solche Konstanten in Symbole auflösen. Trotzdem muss man dann immer noch den gesamten Code manuell durchgehen, den Kram sorgfältig kontrollieren und vieles reparieren bzw. dem interaktiv arbeitenden Disassembler manuell auf die Sprünge helfen. Sowas verwendet man im Rahmen von Reverse Engineering. Aber objdump gehört nicht zu diesen Programmen. Wenn es nur um einige wenige Befehle geht, dann ist die Hexfuchtelei der m.W. einfachste Weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.