在 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