Comment puis-je installer objdump sur Mac OS X?

46

Je souhaite obtenir le code source d'un petit outil de ligne de commande utilisant objdump sous Mac OS X.

J'ai utilisé arm-linux-objdump sous Linux et je trouve que c'est un excellent outil.

Est-il possible d'installer objdump sur OS X? J'ai cherché sur Google et trouvé des informations sur arm-apple-dawin9-objdump, mais je n'ai rien trouvé à télécharger.

Chilly Zhong
la source

Réponses:

57

objdumpfait partie de binutils .

Ignacio Vazquez-Abrams
la source
8
Homebrew l'a aussi! :)
Adrian Petrescu
9
J'espérais que l'homebrew l'a! Merci! brew install binutils
Nacho4d
11
MacPorts binutils s’installe en objdumptant que gobjdump.
1
-bash: objdump: command not found
IgorGanapolsky
1
brew install binutilsl'installe également en tant que gobjdump
Joseph Sheedy
32

Si les outils XCode sont installés sur votre Mac, vous pouvez utiliser l’ outil qui l’accompagne. Je crois qu’il fait à peu près ce dont il objdumpest capable.

Ayaz
la source
14
+1 pour otool - permet otool -tV <executable>de démonter
Paul R
1
dwarftooloffre également des fonctionnalités similaires.
Mike Weller
3
Est-ce que otool a une option comme objdump -S, qui donne une sortie d'assemblage annotée avec le code source? Impossible de comprendre la sortie de --help.
Rgngl
1
-bash: dwarftool: command not found
IgorGanapolsky
8

Si votre fichier est 64bits, vous devriez utiliser otool au lieu de gobjdump de binutils . Sur Mac OSX, gobjdump est pour 32bits.

ahuigo
la source
2
À partir de 2017, gobjdump 2.27 (je pense que je l'ai eu de l'homebrew?)
Fonctionne
6

Vous pouvez l'installer avec 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
la source
2

Vous devez utiliser otoolcar objdumpest un outil binutils pour le format binaire ELF sous Linux et la plupart des systèmes UNIX. otoolest le désassembleur du format binaire Mach-O de MacOS. Tapez $ man otoolpour les instructions d'utilisation.

Riaz Rizvi
la source