---恢復內容開始---
objdump命令是Linux下的反匯編目標文件或者可執行文件的命令,它還有其他作用,下面以ELF格式可執行文件test為例詳細介紹:
objdump -f test
顯示test的文件頭信息
objdump -d test
反匯編test中的需要執行指令的那些section
objdump -D test
與-d類似,但反匯編test中的所有section
objdump -h test
顯示test的Section Header信息
objdump -x test
顯示test的全部Header信息
objdump -s test
除了顯示test的全部Header信息,還顯示他們對應的十六進制文件代碼
舉例:
將C源代碼和反匯編出來的指令對照:
1.
編譯成目標文件(要加-g選項)
gcc -g -o test.c
2.
輸出C源代碼和反匯編出來的指令對照的格式
objdump -S test.o
如下:
如何對任意一個二進制文件進行反匯編?
我們可以這樣做:
objdump -D -b binary -m i386 a.bin
-D表示對全部文件進行反匯編,-b表示二進制,-m表示指令集架構,a.bin就是我們要反匯編的二進制文件
---恢復內容結束---