在 Debian 系統中,反匯編指令通常是通過使用 GNU Binutils 套件中的 objdump 工具來完成的。objdump 是一個強大的工具,它可以顯示目標文件的各種信息,包括反匯編代碼。以下是一些常用的 objdump 反匯編指令及其用法:
-d
或 --disassemble
:反匯編整個二進制文件或指定的代碼段。
objdump -d <binary_file>
-M
或 --architecture=<architecture>
:指定目標架構,例如 i386、x86-64、arm 等。
objdump -d -M i386 <binary_file>
-b
或 --binary-architecture=<architecture>
:指定二進制文件的架構,當與 -M
選項一起使用時,可以反匯編不同架構的二進制文件。
objdump -d -M i386 -b binary <binary_file>
-s
或 --full-contents
:顯示目標文件的所有內容,包括未分配的空間。
objdump -s <binary_file>
-t
或 --syms
:顯示目標文件的符號表。
objdump -t <binary_file>
-r
或 --reloc
:顯示目標文件的重定位表。
objdump -r <binary_file>
-D
或 --disassemble-all
:反匯編所有段,包括未分配的空間。
objdump -D <binary_file>
-S
或 --source
:在反匯編輸出中包含源代碼(如果可用)。
objdump -S <binary_file>
-l
或 --line-numbers
:在反匯編輸出中包含源代碼行號。
objdump -l <binary_file>
-C
或 --demangle
:對 C++ 符號進行解碼,以便更容易閱讀。
objdump -C <binary_file>
這些選項可以組合使用,以便根據需要定制輸出。例如,要反匯編一個名為 “example” 的 x86-64 二進制文件并顯示源代碼行號,可以使用以下命令:
objdump -d -M x86-64 -l example
請注意,為了使用這些指令,你需要確保已經安裝了 GNU Binutils 套件。在 Debian 系統上,你可以使用以下命令安裝它:
sudo apt-get install binutils