44

Я хочу получить исходный код небольшого инструмента командной строки, используя objdump на Mac OS X.

Я использовал arm-linux-objdump в Linux и считаю его отличным инструментом.

Есть ли способ установить objdump на OS X? Я искал в Google и нашел информацию о arm-apple-dawin9-objdump, но не смог найти ничего для загрузки.

5 ответов5

54

objdump является частью binutils.

31

Если на вашем Mac установлены XCode Tools, вы можете использовать otool, который поставляется с ним. Я полагаю, что это делает в значительной степени то, на что способен objdump .

8

Если ваш файл 64 бит, вы должны использовать otool вместо gobjdump из binutils. На Mac OSX gobjdump предназначен для 32 бит.

6

Вы можете установить его с помощью 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
1

Вы должны использовать otool потому что objdump - это инструмент binutils для двоичного формата ELF в Linux и большинстве других систем UNIX. otool - это дизассемблер для двоичного формата Mac -O MacOS. Введите $ man otool для получения инструкций по использованию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .