2009-12-19 22 views
9

Ich zerlege gerade eine Mach-O-Datei (die ausführbare Datei läuft unter Mac OS X, um genau zu sein) in IDA Pro unter Windows. Ich habe eine Anweisung, die ich ändern möchte, aber es scheint nicht, dass IDA Pro allows you to do this. Also, ich habe versucht, mit otool auf OS X die Baugruppe zu entladen (was es gut geht). Nach dem Bearbeiten der Assembly in otool habe ich jedoch versucht, sie unter Verwendung von as <file name of modified otool -tV output> wieder zusammenzusetzen. Dies begrüßt mich mit einer Reihe von Fehlern wie Junk character 43 (+). Was ist der einfachste Weg, um eine einzelne Anweisung in einer Mach-O-Binärdatei unter Mac OS X zu ändern?Assembly-Assembly unter Mac OS X bearbeiten

+0

+1 Ich bin zu neugierig. –

Antwort

4

Ich habe beide otool und otx verwendet, um verschiedene Binärdateien zu zerlegen, und ich habe den einfachsten Weg gefunden zu bearbeiten, sie ist es, herauszufinden, was die Montage des neuen Codes ich will, ist (nasm o.ä.), dann Verwenden Sie einfach einen Hex-Editor (ich bevorzuge Hex Fiend) für die Binärdatei.

+1

Dies scheint eine schreckliche Lösung zu sein (obwohl sie für kleine Bearbeitungen tolerierbar ist), insbesondere wenn man bedenkt, dass x86 Anweisungen mit variabler Länge hat. Gibt es keine guten Werkzeuge zum Zerlegen und Zusammensetzen von Dateien unter OS X? – Mike

+0

unfunnyunely gibt es keine Tools wie ollydbg auf OS X :( – knoopx

1

Ich benutze Synalize It!.

Sie können auch eine benutzerdefinierte Grammatik (Beispiel für PNG-Dateien, zeigt Header-Tags, etc ...) laden