温馨提示×

centos反汇编去哪里学

小樊
53
2026-09-12 02:16:18
栏目: 智能运维

在 CentOS(或 Linux 环境)下学习反汇编 / 逆向工程,可以按下面这条路线来,循序渐进、实用为主。


一、先打基础(非常重要)

1. 汇编语言

反汇编本质是“看汇编”,所以必须懂汇编。

推荐学习:

  • x86 / x86-64 汇编
  • AT&T 语法(Linux 常用) & Intel 语法(IDA 常用)

资料:

  • 《汇编语言》(王爽,入门经典)
  • 《Professional Assembly Language》
  • 在线:https://www.cs.virginia.edu/~evans/cs216/guides/x86.html

练习:

gcc -S test.c
objdump -d a.out

二、CentOS 下必备工具

1. 基础工具(必装)

yum install -y binutils gdb gcc make

常用命令:

  • objdump -d:反汇编
  • readelf -h:ELF 文件结构
  • nm:符号表
  • strings:提取字符串

2. 调试 & 动态分析

yum install -y gdb

推荐:

  • gdb
  • gdb-peda(增强版 GDB)
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

3. 静态反汇编工具

  • radare2(强烈推荐,Linux 友好)
yum install -y radare2

学习:

r2 -d ./program
  • IDA Free(Windows 为主,可放虚拟机)
  • Ghidra(NSA 开源,跨平台)

三、系统 & 原理知识(CentOS 特有)

1. ELF 文件格式

必须懂:

  • ELF Header
  • Section / Segment
  • PLT / GOT
  • 动态链接

资料:

  • 《程序员的自我修养:链接、装载与库》

命令:

readelf -l a.out
readelf -S a.out

2. 系统调用 & 栈结构

  • syscall
  • 函数调用约定(cdecl / System V AMD64)
  • 栈溢出基础

四、实战学习路径(推荐顺序)

  1. C → 汇编对照
int add(int a, int b){
    return a+b;
}
gcc -O0 -S add.c
  1. 用 objdump 分析自己写的程序

  2. 用 gdb 单步调试汇编

disassemble
stepi
info registers
  1. CTF 逆向题(最佳练习) 平台:
  • bugku
  • XCTF
  • CrackMe 练习
  1. 分析真实程序(如 /bin/ls)

五、推荐学习资源汇总

书

  • 《逆向工程核心原理》
  • 《IDA Pro 权威指南》
  • 《加密与解密》

视频

  • B 站:搜 “Linux 逆向工程”
  • CTF 逆向入门系列

项目

  • radare2 官方文档
  • Ghidra 官方教程

六、一句话总结

CentOS 学反汇编 = Linux 基础 + 汇编 + ELF + GDB/radare2 + 实战 CTF

如果你愿意,我可以:

  • 给你一套 CentOS 逆向学习 30 天计划
  • 或直接从 一个 C 程序反汇编实例 讲起

你现在更偏 兴趣 / CTF / 安全研究 / 工作需求?

0 踩