Ist es möglich, eine vollständige Disassembly (die als Eingabe für einen Assembler dienen kann) einer ausführbaren Datei zu erhalten?Vollständige Disassemblierung einer ausführbaren Binärdatei erhalten
Wenn ich otool -tV a.out
verwende, sehe ich nur den Textabschnitt. Andere Abschnitte wie Daten sind nicht sichtbar.
Wenn ich gdb
verwende, erfordert der Befehl disassemble eine Start- und eine Endadresse. Allerdings weiß ich nicht, wie man die Start- und die Endadresse einer Binärdatei (zB a.out) herausfinden kann.
Ich versuche, eine ausführbare Datei zu zerlegen, mit dem Assemblercode zu basteln und dann wieder zusammenzusetzen. Ist das möglich?
Es würde auch helfen, wenn man die Namen aller Abschnitte in einer Binärdatei herausfinden kann.
'otool -d' sicherlich zeigt den Datenbereich. Aber das ist nicht alles. Wenn die ausführbare Datei eine Methode wie folgt aufruft: 'printf (" ABCD ")', kann ich die Deklaration der Zeichenfolge "ABCD" in der Assembly nirgendwo finden. – mynk
Haben Sie Hopper dann versucht? – jurgemaister
Ich suche eine kostenlose Lösung. Also habe ich nicht geschossen. – mynk