如何在gdb中使用strip命令後反彙編文件?如何在gdb中反彙編精靈剝離文件?
1
A
回答
5
您可以使用GDB x/i
命令,例如,
(gdb) x/4i 0x400390
0x400390: xor %ebp,%ebp
0x400392: mov %rdx,%r9
0x400395: pop %rsi
0x400396: mov %rsp,%rdx
但你是什麼可能尋找的是objdump -d a.out
0
您也可以使用disassemble
命令。它的工作原理與x /i
類似,但它有可選的r
和m
標誌,它們分別顯示指令的原始編碼和源代碼行號對應關係。
隨着disassemble /rm
:
(gdb) p free
$1 = {void (void *)} 0x7ffff7df0980 <free>
(gdb) disassemble /rm free,+13
Dump of assembler code from 0x7ffff7df0980 to 0x7ffff7df098d:
121 in dl-minimal.c
0x00007ffff7df0987 <free+7>: 53 push %rbx
0x00007ffff7df0988 <free+8>: 48 89 fb mov %rdi,%rbx
122 in dl-minimal.c
123 in dl-minimal.c
0x00007ffff7df0980 <free+0>: 48 3b 3d 49 d8 20 00 cmp 0x20d849(%rip),%rdi # 0x7ffff7ffe1d0 <alloc_last_block>
0x00007ffff7df098b <free+11>: 74 03 je 0x7ffff7df0990 <free+16>
End of assembler dump
隨着x /i
:
(gdb) p free
$3 = {void (void *)} 0x7ffff7df0980 <free>
(gdb) x /4i free
0x7ffff7df0980 <free>: cmp 0x20d849(%rip),%rdi # 0x7ffff7ffe1d0 <alloc_last_block>
0x7ffff7df0987 <free+7>: push %rbx
0x7ffff7df0988 <free+8>: mov %rdi,%rbx
0x7ffff7df098b <free+11>: je 0x7ffff7df0990 <free+16>
優勢的x /i
超過disassemble
(根據您的需要)雖然是x /i
接受指令的大小,而disassemble
需要大小以字節計。
相關問題
- 1. 如何在Linux內核模式下反彙編精靈?
- 2. 如何解釋gdb反彙編輸出?
- 3. gdb反彙編一行
- 4. 在gdb中,我如何反彙編以前的地址指令?
- 5. 如何在gdb中反彙編數據類型和宏?
- 6. 如何反彙編gdb中的重載操作符?
- 7. 告訴gdb反彙編「未知」代碼
- 8. 從csv文件中剝離「$」
- 9. 使精靈反彈
- 10. 在LLVM中,如何反映彙編文件中的元數據?
- 11. 反彙編Linux的能夠反彙編舊DOS.COM/.EXE文件
- 12. gdb不顯示非剝離可執行文件的源代碼
- 13. GDB的問題 - 我如何逐行通過反彙編代碼?
- 14. 如何在Eclipse中反彙編Android dex文件?
- 15. 在Linux和Mac OS X中使用gdb調試反彙編庫
- 16. 如何旋轉精靈套件中的精靈節點?
- 17. 如何去反彙編程序顯示在gdb的核心中的指令
- 18. BDM精靈文件vs普通精靈文件
- 19. 如何在彙編x86中用ml彙編多個文件?
- 20. 在編譯時剝離Android Dex文件中的AWT引用
- 21. 如何讓精靈從精靈表變成另一個精靈?
- 22. 在gdb中切換到彙編
- 23. 彙編代碼在gdb中的含義
- 24. 如何反彙編AMD ELF?
- 25. 如何在AndEngine中將精靈分割成多個精靈
- 26. 如何讓精靈在XNA中跟隨另一個精靈?
- 27. 如何將gdb附加到剝離的sshd服務器?
- 28. 如何在xml文件中剝離<a>標籤?
- 29. 如何在Windows下反彙編D .obj文件?
- 30. 我無法將intel設置爲gdb中的反彙編風格