温馨提示×

如何快速反汇编CentOS

小樊
35
2026-08-19 07:39:03
栏目: 智能运维

CentOS 上“快速反汇编”,通常指 反汇编可执行文件 / 共享库 / 内核模块 / 内存中的代码。下面按常用场景 + 工具给你一个速查式指南。


一、最常用:用 objdump 快速反汇编(推荐)

1️⃣ 反汇编整个可执行文件

objdump -d /bin/ls

2️⃣ 反汇编带源码(如果有调试信息)

objdump -S ./your_program

3️⃣ 只反汇编某个函数

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

4️⃣ 反汇编 64 位程序(默认)

objdump -M intel -d ./program

-M intel:使用 Intel 语法(默认是 AT&T)


二、用 gdb 边调试边反汇编(最实用)

1️⃣ 启动 gdb

gdb ./program

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ 显示汇编 + 源码

disassemble /m main

5️⃣ 设置 Intel 语法

set disassembly-flavor intel

三、用 objdump 反汇编共享库

objdump -d /lib64/libc.so.6 | less

查找某个函数:

objdump -T /lib64/libc.so.6 | grep printf

四、反汇编内核 / 驱动模块

1️⃣ 反汇编内核模块

objdump -d your_module.ko

2️⃣ 查看符号

nm your_module.ko

五、快速反汇编“内存中的程序”(正在运行)

gdb -p <pid>

然后:

info proc mappings

反汇编某段地址:

disassemble 0x7f1234567890 0x7f1234568000

六、高级工具(比 objdump 更强)

1️⃣ radare2(黑客/逆向神器)

yum install radare2

快速反汇编:

r2 ./program
aaa
pd 20

2️⃣ Ghidra / IDA(图形化)

  • Ghidra(NSA 开源)
  • IDA Pro(商业)

适合做大程序分析,不适合“快速看一下”。


七、常见组合(最快)

目标 推荐方式
快速看一个函数 `objdump -M intel -d ./a.out
调试时看汇编 gdb ./a.out + disassemble
看系统库 objdump -d /lib64/libc.so.6
逆向分析 radare2

八、CentOS 缺工具怎么办?

yum install binutils gdb

如果你愿意,可以告诉我:

  • 反汇编什么?(程序 / 库 / 内核 / 病毒样本)
  • 32 位还是 64 位?
  • 只是看汇编,还是想逆向逻辑?

我可以直接给你 一条命令搞定 的那种方案。

0