温馨提示×

centos反汇编指令咋用

小樊
47
2026-09-12 01:56:15
栏目: 智能运维

CentOS 上做反汇编,通常就是使用 binutils 提供的工具(如 objdumpgdb)或者 ndisasmradare2gdb 等。下面按常见场景给你一个实用指南。


一、常用反汇编工具

1️⃣ objdump(最常用)

CentOS 一般自带:

which objdump

如果没有:

sudo yum install binutils

反汇编整个可执行文件

objdump -d ./a.out

只反汇编某一段(如 main)

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

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

gcc -g test.c -o test
objdump -S test

指定架构(如 x86_64 / ARM)

objdump -d -m i386:x86-64 test

2️⃣ gdb(动态 + 反汇编)

安装:

sudo yum install gdb

进入 gdb

gdb ./a.out

反汇编函数

disassemble main

反汇编当前位置

disas

汇编 + 源码对照

layout split

3️⃣ ndisasm(简单裸汇编)

安装:

sudo yum install nasm

反汇编二进制文件

ndisasm -b 64 test.bin

4️⃣ radare2(专业逆向)

安装:

sudo yum install radare2
r2 ./a.out
[0x000000]> aaa
[0x000000]> pdf @ main

二、常见示例

示例 1:C 程序反汇编

// test.c
int main() {
    return 0;
}
gcc test.c -o test
objdump -d test | less

示例 2:查看系统调用

objdump -d ./a.out | grep syscall

示例 3:查看 ELF 信息

readelf -h ./a.out

三、常见架构说明

架构 objdump 参数
x86_64 -m i386:x86-64
i386 -m i386
ARM -m arm

四、学习建议

  • 先看 objdump -d
  • 再配合 gdb 单步执行
  • 配合 gcc -S 看编译器生成的汇编

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

  • 你是 分析漏洞 / 逆向 / 学习汇编 / CTF
  • 目标文件是 ELF / 二进制 / 驱动 / 脚本

我可以直接给你对应的最佳命令组合。

0