Objdump
Перейти до навігації
Перейти до пошуку
objdump — відкрите програмне забезпечення з інтерфейсом командного рядка в Unix-подібних операційних системах для дизасемблерування або перегляду інформації певного об'єктного файлу[1]. Являється частиною GNU Binutils та інструментом для роботи з бінарними файлами[2].
Тип | Дизасемблер |
---|---|
Операційна система | Unix або Unix-like |
Ліцензія | GNU GPL |
Вебсайт | linux.die.net/man/1/objdump |
Типовий приклад використання objdump.
objdump -d main | grep main.: -A20
Використовується параметер -d (англ. disassembly) та Unix-подібна допоміжна команда 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 40051d <main+0x30>
40053b: 5d pop rbp
40053c: c3 ret
40053d: 0f 1f 00 nop DWORD PTR [rax]
- ↑ objdump(1) - Linux manual page. man7.org. Процитовано 5 травня 2024.
- ↑ І. А. Клименко, А. В. Каплунов, В. А. Таранюк, В. В. Ткаченко (2022). https://comsys.kpi.ua/upload/Архітектура%20комп'ютерів%20Частина%202%20Процесори%20Навчальний%20посібник.pdf (українська) . проспект Перемоги, 37, м. Київ, 03056: КПІ ім. Ігоря Сікорського.