温馨提示×

centos反汇编指令支持哪些

小樊
36
2026-10-12 00:27:15
栏目: 智能运维

在 CentOS(本质上就是 Linux,通常使用 GNU 工具链)中,“反汇编指令”一般指的是将可执行文件或目标文件中的机器码反汇编成汇编代码。常见支持的方式和工具如下:


一、常用反汇编工具及指令

1. objdump(最常用,属于 binutils)

objdump -d file
  • -d:反汇编可执行段
  • -D:反汇编所有段
  • -S:源码+汇编混合(需要 -g 编译)
  • -M intel:使用 Intel 语法(默认是 AT&T)
objdump -d -M intel a.out

✅ CentOS 默认已安装(binutils)


2. gdb(调试时反汇编)

gdb ./a.out
(gdb) disassemble main

或 Intel 语法:

(gdb) set disassembly-flavor intel
(gdb) disassemble main

其他:

(gdb) x/10i $pc      # 反汇编当前指令

3. readelf(查看结构,不反汇编)

readelf -h a.out     # 文件头
readelf -S a.out     # 段表

⚠️ 不直接反汇编,但常配合使用


4. nm / objdump -t(符号表)

nm a.out
objdump -t a.out

5. objcopy(提取代码段)

objcopy -O binary --only-section=.text a.out text.bin

二、第三方反汇编工具(可安装)

6. ndisasm(NASM 提供)

yum install nasm
ndisasm -b 64 file.bin

7. radare2(r2)

yum install radare2
r2 ./a.out
[0x000000]> pdf

8. ghidra / IDA(图形化,非命令行)

  • 需手动安装
  • 支持 x86 / x64 / ARM 等

三、支持的架构(取决于工具)

CentOS 上通常支持:

  • x86 / x86_64(最常见)
  • ARM / AArch64
  • MIPS
  • PowerPC

只要 binutils 编译时支持该架构即可。


四、常见示例

反汇编并看 Intel 语法

objdump -d -M intel a.out

反汇编 main 函数

objdump -d a.out | grep -A 30 "<main>:"

GDB 反汇编当前函数

gdb ./a.out
(gdb) break main
(gdb) run
(gdb) disassemble

如果你有:

  • 具体架构(x86 / ARM)
  • 文件类型(ELF / raw bin)
  • 使用场景(调试 / 逆向 / 学习)

我可以给你更精确的命令示例。

0 踩