¿Cómo puedo instalar objdump en Mac OS X?

46

Quiero obtener el código fuente de una pequeña herramienta de línea de comandos usando objdump en Mac OS X.

He usado arm-linux-objdump en Linux y me parece una gran herramienta.

¿Hay alguna forma de instalar objdump en OS X? Busqué en Google y encontré información sobre arm-apple-dawin9-objdump, pero no pude encontrar nada para descargar.

Zhong frío
fuente

Respuestas:

57

objdumpEs parte de binutils .

Ignacio Vazquez-Abrams
fuente
8
¡Homebrew también lo tiene! :)
Adrian Petrescu
99
¡Esperaba que Homebrew lo tuviera! ¡Gracias! brew install binutils
nacho4d
11
MacPorts binutils se instala objdumpcomo gobjdump.
1
-bash: objdump: command not found
IgorGanapolsky
1
brew install binutilstambién lo instala como gobjdump
Joseph Sheedy
32

Si tiene XCode Tools instalado en su Mac, puede usar el otool que viene con él. Creo que hace más o menos lo que objdumpes capaz de hacer.

ayaz
fuente
14
+1 para otool - usar otool -tV <executable>para desmontar
Paul R
1
dwarftoolTambién ofrece una funcionalidad similar.
Mike Weller
3
¿Tiene otool una opción como objdump -S, que proporciona la salida del ensamblado anotada con el código fuente? Realmente no se pudo deducir de la salida --help.
rgngl
1
-bash: dwarftool: command not found
IgorGanapolsky
8

Si su archivo es de 64 bits, debe usar otool en lugar de gobjdump de binutils . En Mac OSX, gobjdump es para 32 bits.

ahuigo
fuente
2
A partir de 2017, gobjdump 2.27 (¿creo que lo obtuve de homebrew?)
Funciona
6

Puedes instalarlo 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
Daniel
fuente
2

Debe usar otoolporque objdumpes una herramienta binutils para el formato binario ELF en Linux y la mayoría de los otros sistemas UNIX. otooles el desensamblador para el formato binario Mach-O de MacOS. Escriba $ man otoolpara instrucciones de uso.

Riaz Rizvi
fuente