Разобрать в x86_64 на OSX10.6 (но с синтаксисом _Intel_) - PullRequest
7 голосов
/ 13 ноября 2009

Я знаю о otool -tv, но я бы предпочел использовать синтаксис Intel вместо AT & Ts, главным образом, чтобы легко следовать в книге и не просматривать тысячи % и $ х.

Буду также признателен за любые советы, где я могу найти файл конфигурации gdb.

РЕДАКТИРОВАТЬ: Я забыл: я использую 64-битный процессор, но мне было интересно, можно ли будет также разобрать в 32-битную сборку? Кроме того, gdb команда OSX *1011* работает иначе, чем стандартная GNU версия?

Большое спасибо!

(Кроме того, если у вас есть идея, где я могу найти небольшого дизассемблера из C -> MIPS, с ним было бы очень интересно поиграть. Но не обязательно!)

Ответы [ 4 ]

8 голосов
/ 13 ноября 2009

Чтобы ответить на ваш второй вопрос, если код был скомпилирован в толстый двоичный файл как с 64-разрядным, так и с 32-разрядным, вы можете использовать otool -arch i386 -tv, чтобы разобрать 32-разрядный фрагмент двоичного файла; otool -arch x86_64 -tv выдаст вам 64-битную часть (на SnowLeopard это также поведение по умолчанию, если флаг -arch не передан).

Также обратите внимание, что хотя otool не поддерживает синтаксис Intel, gdb (set disassembly-flavor intel) и XCode (Preferences -> Debugging -> Disassembly Style) делают.

1 голос
/ 13 ноября 2009

С помощью Objdump вы можете разобрать с помощью -d -M intel, и, очевидно, -m можно использовать для указания архитектуры.

0 голосов
/ 17 июня 2011

Для GDB в файле .gdbinit добавьте:

набор разборка-ароматизатор intel

, тогда это будет синтаксис по умолчанию для GDB.

0 голосов
/ 13 ноября 2009

Вы можете использовать A2I для перевода из AT & T в синтаксис Intel: http://membres.lycos.fr/placr/a2i.html

...