objdump

objdump
Операционная системаUnix и Unix-подобные
ТипКоманда
ЛицензияGNU GPL

objdump — это программа командной строки для отображения различной информации об объектных файлах в операционных системах типа Unix . Например, ее можно использовать как дизассемблер для просмотра исполняемого файла в ассемблерной форме. Она является частью GNU Binutils для точного управления исполняемыми файлами и другими двоичными данными. objdump использует библиотеку BFD для чтения содержимого объектных файлов. Аналогичные утилиты — Borland TDUMP, Microsoft DUMPBIN и readelf .

На некоторых платформах (например, macOS ) двоичный файл objdump может фактически быть ссылкой на objdump LLVM с другими параметрами командной строки и поведением. [ необходима цитата ]

Пример

Например,

$ objdump -D -M intel file.bin | grep main.: -A20

Это выполняет дизассемблирование файла «file.bin» с кодом ассемблера , показанным в синтаксисе Intel . Затем мы перенаправляем его в grep , который ищет основную функцию и отображает 20 строк ее кода.

Пример вывода:

 4004ed <main>: 4004ed: 55 push rbp 4004ee: 48 89 e5 mov rbp , rsp 4004f1: c7 45 ec 00 00 00 00 mov DWORD PTR [ rbp - 0x14 ], 0x0 4004f8: c7 45 f0 01 00 00 00 mov DWORD PTR [ rbp - 0x10 ], 0x1 4004ff: c7 45 f4 02 00 00 00 mov DWORD PTR [ rbp - 0xc ], 0x2 400506: c7 45 f8 03 00 00 00 mov DWORD PTR [ rbp - 0x8 ], 0x3 40050d: c7 45 fc 04 00 00 00 mov DWORD PTR [ rbp - 0x4 ], 0x4 400514: c7 45 ec 00 00 00 00 mov DWORD PTR [ rbp - 0x14 ], 0x0 40051b: eb 13 jmp 400530 < main + 0x43 > 40051d: 8b 05 15 0b 20 00 mov eax , DWORD PTR [ rip + 0x200b15 ] # 601038 < globalA > 400523: 83 e8 01 sub eax , 0x1 400526: 89 05 0c 0b 20 00 mov DWORD PTR [ rip + 0x200b0c ], eax # 601038 <globalA> 40052c: 83 45 ec 01 add DWORD PTR [ rbp - 0x14 ], 0x1 400530: 8b 05 02 0b 20 00 mov eax , DWORD PTR [ rip + 0x200b02 ] # 601038 <globalA> 400536: 39 45 ec cmp DWORD PTR [ rbp - 0x14 ], eax 400539: 7c e2 jl 40051 d < main + 0x30 > 40053b: 5d pop rbp 40053c: c3 ret                                                                            40053d: 0f 1f 00 nop DWORD PTR [ rax ]    

Смотрите также

Ссылки


Взято с "https://en.wikipedia.org/w/index.php?title=Objdump&oldid=1268822524"