Objdump - Objdump

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]

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

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