WikiDer > Objdump
Операционная система | Unix и Unix-подобный |
---|---|
Тип | Команда |
Лицензия | GNU GPL |
objdump это командная строка программа для отображения различной информации о объектные файлы на Unix-подобный операционные системы. Например, его можно использовать как дизассемблер для просмотра исполняемый файл в сборочном виде. Это часть GNU Binutils для детального контроля над исполняемыми файлами и другими двоичными данными. objdump использует BFD библиотека для чтения содержимого объектных файлов. Подобные утилиты есть Borland TDUMP, Microsoft ДАМПБИН и Readelf.
Обратите внимание, что на определенных платформах (например, macOS), двоичный файл objdump может быть ссылкой на llvm's objdump, с разными параметрами командной строки и поведением.
пример
Например,
$ objdump -D -M intel file.bin | grep main .: -A20
При этом выполняется дизассемблирование файла «file.bin» с код сборки Показано в Синтаксис Intel. Затем мы перенаправляем его на grep, который ищет основную функцию и отображает 20 строк ее кода.
Пример вывода:
4004ed: 55 От себя 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: С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 <основной+0x43> 40051d: 8b 05 15 0b 20 00 mov eax,DWORD PTR [Покойся с миром+0x200b15] # 601038 <globalA> 400523: 83 e8 01 суб eax,0x1 400526: 89 05 0c 0b 20 00 mov DWORD PTR [Покойся с миром+0x200b0c],eax # 601038 <globalA> 40052c: 83 45 ЭК 01 Добавить DWORD PTR [rbp-0x14],0x1 400530: 8b 05 02 0b 20 00 mov eax,DWORD PTR [Покойся с миром+0x200b02] # 601038 <globalA> 400536: 39 45 экв. cmp DWORD PTR [rbp-0x14],eax 400539: 7c e2 jl 40051d <основной+0x30> 40053b: 5d поп rbp 40053c: c3 Ret 40053d: 0f 1f 00 нет DWORD PTR [rax]
Смотрите также
внешние ссылки
- Linux Пользовательские команды Руководство по эксплуатации –
- Linux Пользовательские команды Руководство по эксплуатации –
- Binutils :: Objdump - Perl интерфейс к objdump
Эта Unix-связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |