温馨提示×

怎样反汇编ELF文件CentOS

小樊
53
2026-08-30 10:26:05
栏目: 智能运维

CentOS 上反汇编 ELF 文件,常用下面几种方式,从“最常用”到“进阶”逐步说明。


一、最简单:用 objdump(最常用 ✅)

1️⃣ 安装(一般已自带)

yum install -y binutils

2️⃣ 反汇编整个 ELF

objdump -d test.elf

3️⃣ 反汇编指定段(如 .text

objdump -d -j .text test.elf

4️⃣ 显示源码 + 汇编(如果有调试信息)

objdump -S test.elf

5️⃣ 显示符号表

objdump -t test.elf

二、查看 ELF 文件结构(先了解文件)

1️⃣ 查看 ELF 头

readelf -h test.elf

2️⃣ 查看段信息

readelf -S test.elf

3️⃣ 查看符号表

readelf -s test.elf

三、用 gdb 反汇编(调试 & 动态分析)

1️⃣ 安装

yum install -y gdb

2️⃣ 启动

gdb ./test.elf

3️⃣ 常用反汇编命令

disassemble main
disassemble 0x400500

或带机器码:

disassemble /r main

四、用 radare2(进阶,逆向常用)

1️⃣ 安装

yum install -y radare2

2️⃣ 基本用法

r2 test.elf

进入后:

aaa        # 自动分析
pd 20      # 反汇编 20 条
s main     # 跳到 main
pdf        # 反汇编当前函数

五、用 objcopy 提取纯代码(高级)

objcopy -O binary -j .text test.elf text.bin

然后用:

ndisasm -b 64 text.bin

(需安装 nasm


六、常见使用场景建议

场景 推荐工具
快速反汇编 objdump -d
有源码 objdump -S
调试 gdb
逆向分析 radare2
查看结构 readelf

七、示例完整流程(推荐)

objdump -d test.elf | less

或:

gdb ./test.elf
(gdb) disassemble main

如果你愿意,我可以:

  • ✅ 帮你 逐行分析一段反汇编
  • ✅ 教你怎么 从 main 开始逆向
  • ✅ 演示 CentOS 7 / 8 差异
  • ✅ 讲 AT&T vs Intel 语法

告诉我你用的是 CentOS 几?32 位还是 64 位?

0