温馨提示×

linux反汇编支持哪些格式

小樊
53
2026-09-09 11:12:50
栏目: 智能运维

在 Linux 下进行反汇编(disassembly)时,支持的文件格式主要取决于你使用的工具链(如 objdump、gdb、radare2、IDA、ghidra 等)。下面按常见分类说明 Linux 下反汇编通常支持哪些格式。


一、Linux 原生最常见的格式(ELF 体系)

✅ ELF(Executable and Linkable Format)

这是 Linux 下最重要、最核心的格式:

  • 可执行文件(动态 / 静态)
  • 共享库(.so)
  • 目标文件(.o)
  • 核心转储(core dump,部分支持)

支持工具:

objdump -d a.out
gdb a.out
readelf -a a.out

二、通用对象文件格式(跨平台)

✅ COFF / PE / PE32+(Windows)

很多 Linux 反汇编工具也支持 Windows 格式:

  • .exe
  • .dll
  • .sys

常用工具:

  • objdump(配合 x86_64-w64-mingw32-objdump)
  • radare2
  • Ghidra
  • IDA

示例:

x86_64-w64-mingw32-objdump -d test.exe

三、macOS / BSD 格式

✅ Mach-O

Linux 工具对 Mach-O 的支持不如 ELF 完整,但以下工具支持:

  • radare2
  • Ghidra
  • objdump(部分,需配置)

四、裸机 / 嵌入式格式

✅ Raw Binary(纯二进制)

没有任何文件头,直接是机器码:

  • Bootloader
  • Firmware
  • Shellcode

示例(指定架构):

objdump -b binary -m arm -D firmware.bin

radare2:

r2 -a arm -b 32 -e bin.relocs.apply=true firmware.bin

五、其他常见格式

✅ Intel HEX / Motorola S-Record

主要用于:

  • 单片机
  • 固件

支持工具:

  • radare2
  • Ghidra
  • objcopy(可转换格式)

六、核心转储(Core Dump)

✅ Core 文件(ELF core)

gdb ./a.out core

可反汇编崩溃现场代码。


七、常见 Linux 反汇编工具及格式支持对照

工具 ELF PE Mach-O Raw HEX
objdump ✅ ✅(交叉) ❌/⚠️ ✅ ❌
gdb ✅ ❌ ❌ ⚠️ ❌
radare2 ✅ ✅ ✅ ✅ ✅
Ghidra ✅ ✅ ✅ ✅ ✅
IDA ✅ ✅ ✅ ✅ ✅

八、总结一句话

Linux 下反汇编最原生支持的是 ELF 格式,但借助交叉工具和第三方逆向工具,几乎支持所有主流可执行格式(PE / Mach-O / Raw / HEX 等)。

如果你有具体场景(比如:嵌入式、Windows 程序、shellcode、内核模块),我可以给你更针对性的建议。

0 踩