stringtranslate.com

объектный дамп

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 мов 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: c 7 45 ФК 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 : 8б 05 15 0б 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 <глобальныйA> 40052c : 83 45 ec 01 добавить 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 [ рбп - 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 ]    

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

Внешние ссылки