Jak mogę zainstalować objdump na Mac OS X?


46

Chcę uzyskać kod źródłowy małego narzędzia wiersza polecenia, używając objdump na Mac OS X.

Użyłem arm-linux-objdump na Linuksie i uważam to za świetne narzędzie.

Czy jest jakiś sposób na zainstalowanie objdump na OS X? Przeszukałem Google i znalazłem informacje o arm-apple-dawin9-objdump, ale nie znalazłem niczego do pobrania.

Odpowiedzi:



32

Jeśli masz zainstalowane XCode Tools na komputerze Mac, możesz użyć dołączonego do niego narzędzia otool . Wierzę, że robi właściwie to, co objdumpjest w stanie.


14
+1 za otool - użyj otool -tV <executable>do demontażu
Paul R

1
dwarftooloferuje również podobne funkcje.
Mike Weller

3
czy otool ma opcję taką jak objdump -S, która wyświetla dane wyjściowe zestawu opatrzone adnotacjami z kodem źródłowym? Naprawdę nie mogłem dowiedzieć się z wyjścia --help.
rgngl

1
-bash: dwarftool: command not found
IgorGanapolsky

8

Jeśli plik jest 64bits, należy użyć otool zamiast gobjdump z binutils . W systemie Mac OSX gobjdump jest przeznaczony dla 32-bitowych.


2
Od 2017 r. Gobjdump 2.27 (myślę, że dostałem go od homebrew?)
Działa

6

Możesz zainstalować go z 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

Powinieneś użyć, otoolponieważ objdumpjest to narzędzie binutils dla formatu binarnego ELF w systemie Linux i większości innych systemów UNIX. otooljest deasemblerem formatu binarnego Mach-O dla MacOS. Wpisz $ man otoolinstrukcje użytkowania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.