Como posso instalar o objdump no Mac OS X?

46

Desejo obter o código fonte de uma pequena ferramenta de linha de comando usando o objdump no Mac OS X.

Eu usei arm-linux-objdump no Linux e considero uma ótima ferramenta.

Existe alguma maneira de instalar o objdump no OS X? Pesquisei no Google e encontrei informações sobre arm-apple-dawin9-objdump, mas não consegui encontrar nada para baixar.

Zhong frio
fonte

Respostas:

57

objdumpfaz parte do binutils .

Ignacio Vazquez-Abrams
fonte
8
Homebrew também tem! :)
Adrian Petrescu
9
Eu estava esperando homebrew tem! Obrigado! brew install binutils
Nacho4d 9/09/2013
11
O MacPorts binutils é instalado objdumpcomo gobjdump.
1
-bash: objdump: command not found
IgorGanapolsky
1
brew install binutilstambém instala-lo como gobjdump
Joseph Sheedy
32

Se você possui o XCode Tools instalado no seu Mac, pode usar o otool que vem com ele. Eu acredito que faz praticamente o que objdumpé capaz.

ayaz
fonte
14
+1 para otool - uso otool -tV <executable>de desmontar
Paul R
1
dwarftooltambém oferece algumas funcionalidades semelhantes.
Mike Weller
3
otool tem uma opção como objdump -S, que fornece a saída do assembly anotada com o código-fonte? Não foi possível descobrir realmente a partir da saída --help.
rgngl
1
-bash: dwarftool: command not found
IgorGanapolsky
8

Se seu arquivo é de 64 bits , você deve usar otool em vez de gobjdump do binutils . No Mac OSX, o gobjdump é de 32 bits.

ahuigo
fonte
2
A partir de 2017, gobjdump 2,27 (eu acho que eu tenho que partir homebrew?) Funciona bem com 64 bits de MacOS Sierra (10.12)
hmijail
6

Você pode instalá-lo com o 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
fonte
2

Você deve usar otoolporque objdumpé uma ferramenta binutils para o formato binário ELF no Linux e na maioria dos outros sistemas UNIX. otoolé o desmontador para o formato binário Mach-O do MacOS. Digite $ man otoolpara obter instruções sobre o uso.

Riaz Rizvi
fonte