温馨提示×

CentOS反汇编指令怎么跑

小樊
50
2026-07-09 02:10:31
栏目: 智能运维

CentOS 上做反汇编,常见有几种方式,取决于你想反汇编 什么文件到什么层次。下面从最常用到进阶给你一个完整说明。


一、准备环境(先装工具)

1️⃣ 安装常用反汇编/调试工具

sudo yum install -y binutils gdb nasm objdump

如果你要做 ELF 分析 / 逆向工程,建议再装:

sudo yum install -y readelf strace ltrace

二、最常用:用 objdump 反汇编

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

objdump -d test

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

objdump -d -j .text test

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

objdump -S test

⚠️ 编译时要加 -g

gcc -g -o test test.c

三、gdb 里反汇编(调试时最常用)

1️⃣ 启动 gdb

gdb ./test

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ 反汇编指定地址范围

disassemble 0x4005f0,0x400620

5️⃣ Intel 语法(更直观)

set disassembly-flavor intel
disassemble main

四、查看 ELF 信息(辅助反汇编)

1️⃣ 查看 ELF 头

readelf -h test

2️⃣ 查看段表

readelf -S test

3️⃣ 查看符号表

readelf -s test

五、直接看机器码(hex + 汇编)

objdump -b binary -m i386 -D test.bin

或(64 位):

objdump -b binary -m i386:x86-64 -D test.bin

六、从 C 到汇编(正向对照)

gcc -S test.c

生成:

test.s

如果是 Intel 语法:

gcc -S -masm=intel test.c

七、常见错误 & 注意事项

❌ 提示 file not recognized

  • 文件不是 ELF(可能是脚本、文本)
  • file test 先确认

❌ 反汇编出来全是 ??

  • 文件被 strip
  • 或不是可执行段

八、推荐组合(实战)

file test
readelf -h test
objdump -d test | less
gdb ./test

九、如果你是想做「逆向 / CTF / 漏洞分析」

可以再装:

sudo yum install -y radare2

然后:

r2 ./test
pd 20

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

  • ✅ 你是 反汇编 ELF / 二进制文件 / shellcode
  • ✅ 是 学习汇编 / 调试 / 漏洞分析 / CTF
  • ✅ CentOS 是 7 还是 Stream 9

我可以直接给你一套 针对你场景的命令流程

0