温馨提示×

centos怎么反汇编二进制

小樊
36
2026-09-18 07:47:29
栏目: 智能运维

在 CentOS 上反汇编二进制文件,常用的方法有几种,取决于你想要的“反汇编级别”和工具链。下面按常用程度给你说明。


一、使用 objdump(最常用,系统自带)

objdump 属于 binutils,CentOS 默认通常已安装。

1. 安装(如没有)

sudo yum install -y binutils

2. 反汇编整个二进制

objdump -d ./a.out

3. 反汇编指定段(如 .text

objdump -d -j .text ./a.out

4. 显示源代码 + 汇编(需带 -g 编译)

objdump -S ./a.out

5. Intel 语法(默认是 AT&T)

objdump -M intel -d ./a.out

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

1. 安装

sudo yum install -y gdb

2. 进入 gdb

gdb ./a.out

3. 反汇编函数

disassemble main

4. Intel 语法

set disassembly-flavor intel
disassemble main

5. 查看当前执行位置汇编

x/10i $pc

三、使用 objdump + 符号表(更清晰)

如果二进制有符号:

objdump -d -l ./a.out

如果是 stripped:

file ./a.out
# 会显示 stripped

四、高级逆向工具(可选)

1. radare2(强烈推荐)

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

2. Ghidra / IDA(图形化)

  • Ghidra:Java 版,跨平台
  • IDA:商业(有免费版)

五、常见示例

编译测试程序

gcc -g -o test test.c

反汇编 main

objdump -M intel -d test | grep -A 30 "<main>:"

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

  • ELF / 可执行 / .so / 内核模块
  • 是否 stripped
  • 想做 静态分析 / 调试 / 漏洞分析

我可以直接给你最合适的命令。

0