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.

Respostas:



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.


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.


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

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.