Pergunta

eu sei de otool -tv, mas eu prefiro usar o Intel Sintaxe em vez de AT&TS, principalmente para seguir facilmente em um livro e não ter que olhar mais de milhares de %'areia $'s.

Eu também apreciaria qualquer dica para onde eu poderia encontrar gdbArquivo de configuração.

EDIT: Esqueci: estou executando um processador de 64 bits, mas estava me perguntando se seria possível desmontar também em montagem de 32 bits? Não apenas isso, mas o OSX's gdb's list trabalho de comando de maneira diferente do padrão GNU versão?

Muito obrigado!

(Além disso, se você tiver alguma idéia de onde eu possa encontrar um pouco de desmontagem de C -> MIPS, isso seria muito divertido de brincar. Mas não é necessário!)

Foi útil?

Solução

Para responder à sua segunda pergunta, se o código foi compilado em um binário gordo com 64 bits e 32 bits, você pode usar otool -arch i386 -tv Desmontar a fatia de 32 bits do binário; otool -arch x86_64 -tv dará a você a parte de 64 bits (no Snowleopard, este também é o comportamento padrão se não -arch bandeira é passada).

Observe também que, embora o Otool não suporta a sintaxe da Intel, GDB (set disassembly-flavor intel) e Xcode (Preferências -> Depuração -> Estilo de Desmontagem) fazem.

Outras dicas

(Eu sei que essa é uma pergunta antiga, mas quero fornecer uma resposta atualizada para pessoas que vêm aqui através dos mecanismos de pesquisa).

Em versões recentes do macOS (estou executando 10.14.5), um objdump O comando está disponível, que é baseado no LLVM e é não aquele do projeto GNU. Oferece uma opção (oculta) para desmontar usando a sintaxe Intel. Por exemplo, /bin/echo pode ser desmontado da seguinte maneira:

objdump -disassemble -x86-asm-syntax=intel /bin/echo

Com Objdump Você pode desmontar com -d -M intel, e aparentemente -m pode ser usado para especificar a arquitetura.

Para o GDB, no seu arquivo .gdbinit, adicione:

Defina a Intel de saborear a desmontagem

Em seguida, será a sintaxe padrão para o GDB.

Você pode usar o A2I para traduzir da Sintaxe da AT&T para Intel: http://membres.lycos.fr/placr/a2i.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top