Pytanie w sprawie linux, objdump, x86-64, assembly – W jaki sposób objdump może emitować składnię intel

52

Jak mogę powiedziećobjdump emitować zespół w składni Intel zamiast domyślnej składni AT&T?

Twoja odpowiedź

2   odpowiedź
94

Czego szukasz to-M intel. Użyj go w następujący sposób.

<code>objdump -M intel -d program_name
</code>
W OS X okazuje się, że / usr / bin / objdump w rzeczywistości nie jest w ogóle objdump, ale w rzeczywistości llvm-objdump. Możesz użyć objdump --help, ale tak naprawdę nie mówi ci o opcji, która daje wyjście w stylu intel, które wydaje się być-x86-asm-syntax=intel . Westchnienie. John Clements
6

monicznych AT&T), możesz użyć:

objdump -M intel intel-mnemonic -D <program's-object-file>

Tak właściwie,-M intel już się tym zajmuje. Spróbuj rozmontować sekwencję0f b7 c3 - z-M intel to ci damovzx eax,bx, podczas gdy bez niego objdump domyślnie powraca do AT&T i dostajeszmovzwl %bx,%eax. Daniel Kamil Kozar
Od przeczytania instrukcji-M intel-mnemonic sugeruje intel, nie na odwrót. Nadal jednak nie znam różnic między nimi. Zrobiłemobjdump -M intel -d file > intel, objdump -M intel-mnemonic -d file > intel-mnemonic, następniediff intel intel-mnemonic i nie było różnic. Próbowałem nawet z-D zamiast-d na wypadek gdyby były różnice w innych sekcjach. RastaJedi
Oh racja. Całkowicie przeoczyłem to w interesie bycia bardziej wyraźnym. Dzięki! shigoel

Powiązane pytania