温馨提示×

CentOS反汇编指令怎么找

小樊
36
2026-07-20 19:20:18
栏目: 智能运维

CentOS(或任何 Linux) 里,“反汇编指令”通常指 把二进制文件(可执行文件、库、内核模块等)转换成汇编代码。下面按常见场景给你一套实用指南。


一、最常用:用 objdump 反汇编

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

which objdump

如果没有:

sudo yum install binutils

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

objdump -d ./a.out

3️⃣ 反汇编指定函数

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

4️⃣ 显示源码 + 汇编(需要 -g 编译)

objdump -S ./a.out

5️⃣ Intel 语法(更直观)

objdump -M intel -d ./a.out

二、用 gdb 动态反汇编(调试时最常用)

1️⃣ 安装 gdb

sudo yum install gdb

2️⃣ 启动程序

gdb ./a.out

3️⃣ 常用反汇编命令

disassemble main

或指定地址:

disassemble 0x4005b6

4️⃣ Intel 语法

set disassembly-flavor intel
disassemble main

5️⃣ 查看当前执行位置汇编

ni        # 单步执行
disassemble

三、用 radare2(专业逆向工具)

1️⃣ 安装

sudo yum install radare2

或手动安装最新版。

2️⃣ 基本用法

r2 ./a.out

进入后:

aaa        # 自动分析
pdf @ main # 反汇编 main 函数

四、内核 / 模块反汇编(高级)

反汇编内核函数

objdump -d /boot/vmlinux | grep -A 30 "<do_sys_open>:"

⚠️ 需要 未压缩、带符号的内核镜像


五、常见编译 & 反汇编流程示例

1️⃣ 编译

gcc -g -o test test.c

2️⃣ 反汇编

objdump -M intel -d test

六、快速对照表

需求 工具
静态反汇编 objdump
调试时反汇编 gdb
逆向分析 radare2
查看符号 nm, readelf
查看函数地址 objdump -t

七、如果你指的是“找某条指令”

比如:

我想找 jmpsyscallret 在哪

objdump -d ./a.out | grep -E "jmp|call|ret"

如果你能具体说:

  • 用户态 / 内核态
  • ELF / 二进制 / 内核模块
  • x86 / ARM
  • 想找漏洞 / 分析函数 / 调试崩溃

我可以直接给你精准命令和实战示例

0