Come posso installare objdump su Mac OS X?


46

Voglio ottenere il codice sorgente di un piccolo strumento da riga di comando usando objdump su Mac OS X.

Ho usato arm-linux-objdump su Linux e lo trovo un ottimo strumento.

Esiste un modo per installare objdump su OS X? Ho cercato su Google e trovato informazioni su arm-apple-dawin9-objdump, ma non sono riuscito a trovare nulla da scaricare.

Risposte:



32

Se hai XCode Tools installato sul tuo Mac, puoi usare l' otool in dotazione. Credo che faccia praticamente ciò di cui objdumpè capace.


14
+1 per otool - usa otool -tV <executable>per disassemblare
Paul R

1
dwarftooloffre anche alcune funzionalità simili.
Mike Weller,

3
otool ha un'opzione come objdump -S, che fornisce l'output dell'assemblaggio annotato con il codice sorgente? Impossibile davvero capire dall'output --help.
rgngl,

1
-bash: dwarftool: command not found
IgorGanapolsky,

8

Se il tuo file ha 64 bit, dovresti usare otool invece di gobjdump da binutils . Su Mac OSX, gobjdump è per 32 bit.


2
A partire dal 2017, gobjdump 2.27 (penso di averlo ottenuto da homebrew?)
Funziona

6

Puoi installarlo con Homebrew:

$ brew install binutils
==> Downloading https://homebrew.bintray.com/bottles/binutils-2.25.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring binutils-2.25.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/binutils/2.25: 107 files, 140M
$ which gobjdump
/usr/local/bin/gobjdump

2

Si dovrebbe usare otool, perché objdumpè uno strumento per la binutils formato binario ELF sulla maggior parte degli altri sistemi UNIX e Linux. otoolè il disassemblatore per il formato binario Mach-O di MacOS. Digitare $ man otoolper le istruzioni per l'uso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.