在Ubuntu系统中,常见的反汇编指令主要包括以下几种类型:
objdump:-d(反汇编)、-M intel(使用Intel语法)。ndisasm:-b指定二进制文件的格式和地址大小。radare2:Ghidra:IDA Pro:objdump -d:反汇编整个可执行文件。objdump -d -M intel:使用Intel语法反汇编。ndisasm -b 32 / ndisasm -b 64:分别用于32位和64位二进制文件的反汇编。objdump -d --architecture=arm:反汇编ARM架构的可执行文件。arm-none-eabi-objdump:针对ARM嵌入式系统的工具链中的反汇编器。objdump -d --architecture=mips:反汇编MIPS架构的可执行文件。gdb:GNU调试器,可以结合disassemble命令查看反汇编代码。lldb:LLVM项目的调试器,同样支持反汇编功能。-s:显示符号表信息。-r:显示重定位信息。-x:以十六进制格式显示数据。-l:显示源代码行号。-E:显示注释和解释。# 使用objdump反汇编当前目录下的example可执行文件,采用Intel语法
objdump -d -M intel example
# 使用ndisasm反汇编32位二进制文件example.bin
ndisasm -b 32 example.bin
# 在gdb中反汇编main函数
gdb example
(gdb) disassemble main
总之,Ubuntu提供了多种强大的反汇编工具和指令,可以根据具体需求选择合适的工具进行使用。