温馨提示×

怎样输出centos反汇编指令

小樊
38
2026-09-15 07:31:01
栏目: 智能运维

CentOS 系统下进行“反汇编”(disassembly),常用的是 objdumpgdbndisasm 等工具。下面按常见场景给你说明。


一、使用 objdump(最常用)

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

objdump -d ./test

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

objdump -d -j .text ./test

3️⃣ 显示源码 + 汇编(需编译时加 -g)

objdump -S ./test

4️⃣ Intel 语法(默认是 AT&T)

objdump -d -M intel ./test

二、使用 gdb(动态/调试反汇编)

1️⃣ 启动 gdb

gdb ./test

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ Intel 语法

set disassembly-flavor intel
disassemble main

5️⃣ 反汇编指定地址

disassemble 0x400500, 0x400600

三、反汇编裸二进制文件(如 shellcode)

使用 ndisasm

ndisasm -b 64 shellcode.bin

如果是 32 位:

ndisasm -b 32 shellcode.bin

(CentOS 可能需要安装:yum install nasm


四、内核模块反汇编(.ko)

objdump -d -M intel my_module.ko

五、常见注意事项

✅ 编译时建议加:

gcc -g -O0 -o test test.c

✅ 如果提示 command not found

yum install binutils gdb nasm

如果你有具体场景(比如:

  • 反汇编 C 程序?
  • 反汇编内核?
  • 分析病毒 / shellcode?
  • CentOS 7 还是 8 / Stream?

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

0