Gibt es ein Tool zum Lesen von Mac OS X-Binärdateien, das ähnliche Informationen über Verschiebungstabellen und Symbol-Offsets ausdruckt readelf Ausgang?
In diesem Beispiel print ist eine Funktion, die zur Laufzeit aus einer gemeinsam genutzten Bibliothek (ich schrieb) geladen wird. readelf ist in der Lage, Informationen über seinen Standort innerhalb des anzuzeigen app binär.
/usr/local/path/to/gobjdump -p /path/to/app # oder folgen Sie den Anweisungen, um es zu Ihrem PATH hinzuzufügen
Es gibt natürlich viele andere Befehlszeilenoptionen. Beachten Sie, dass der binutils-Port darauf hinweist, dass die Installation dazu führen kann, dass andere Ports nicht erstellt werden können. Es kann immer noch praktisch sein, es in der Nähe zu haben, um den Port zu installieren / sich etwas anzusehen / den Port zu deinstallieren.
Es ist ziemlich erstaunlich, dass es nicht bereits ein natives Tool gibt, um dies zu tun.
Wenn Sie Homebrew verwenden, können Sie dies über “brew install binutils” installieren.
Ich bekomme eine Nachricht: gobjdump: Matching formats: elf32-littlearm elf32-littlearm-symbian elf32-littlearm-vxworks
– IgorGanapolsky
11. Mai 2016 um 22:01 Uhr
@IgorGanapolsky Sie können greadelf -Ws /path/to/your/so/files verwenden
– ck1910
12. April 2017 um 7:55 Uhr
otool -l test.o
Nein, das bringt es auch nicht.
– Karl Philipp
22. Juli 2010 um 23:42 Uhr
Sie können dies mit otool tun, Sie müssen nur zusätzliche Optionen übergeben. man otool für Details.
– Chris Hanson
23. Juli 2010 um 19:59 Uhr
otool -Sv libtest.a ist schöner, bzw otool -STMRIHGv <path/to/library> für jede Art von Bibliothek (*.a, *.so, *.dylib). otool ist erhältlich unter /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool nachdem Xcode installiert wurde.
Dieses Dienstprogramm kann zum Konvertieren von Objektdateien zwischen den Formaten COFF/PE, OMF, ELF und Mach-O (von Mac OS verwendet) für alle 32-Bit- und 64-Bit-x86-Plattformen verwendet werden. Kann Symbolnamen in Objektdateien ändern. Kann Funktionsbibliotheken plattformübergreifend erstellen, modifizieren und konvertieren. Kann Objektdateien und ausführbare Dateien sichern. Enthält auch einen sehr guten Disassembler, der die Befehlssätze SSE4, AVX, FMA und XOP unterstützt.
Ps.: Der Quellcode ist dabei (GPL).
Schön, Sie kennenzulernen, Carlfilips, und vielen Dank.
Möchten
nm
Mache den Trick?– zneak
20. Juli 2010 um 2:56 Uhr
Es werden nicht genügend Informationen gedruckt.
– Karl Philipp
20. Juli 2010 um 3:10 Uhr