ReversingID/Awesome-Reversing
GitHub: ReversingID/Awesome-Reversing
一个按软件、硬件、格式、数据库四大领域分类整理的逆向工程资源导航列表,帮助不同方向的研究者和开发者快速找到合适的工具与学习材料。
Stars: 699 | Forks: 88
# 极客逆向工程 [](https://awesome.re)
由 [Reversing.ID](https://reversing.id) 为逆向工程社区管理。
## 简介
**逆向工程** 是一门分解事物、提取其背后的设计与运行机制,并在无法查阅原始设计文档的情况下理解其基本原理的艺术与科学。
逆向工程广泛应用于多个领域:安全研究、恶意软件分析、漏洞挖掘、互操作性、存档保护以及硬件拆解。你所逆向的*对象*不同,所需的技能、工具和心智模型也会大相径庭。
### 本列表的独特之处
大多数 Awesome 列表将逆向工程视为一个单一主题。本列表采用了不同的方法:**按领域划分**。每个领域都有其特定的目标、工具链和知识体系。固件分析师和数据库 schema 考古学家都在进行逆向工程,但他们的工作流程几乎没有共同之处。
本列表组织为**四个领域**:
| 领域 | 你的逆向对象 | 典型目标 |
|--------|-----------------------|---------------|
| [软件](software-reversing.md) | 可执行文件、bytecode、库 | 漏洞研究、恶意软件分析、crackmes、互操作性 |
| [硬件](hardware-reversing.md) | PCB、IC、嵌入式固件 | 拆解、固件提取、协议分析、芯片级分析 |
| [格式](format-reversing.md) | 文件格式、网络协议、游戏资产 | 解析器构建、资产提取、格式文档化 |
| [数据库](database-reversing.md) | 扁平文件数据库、关系型和 NoSQL 数据库 | Schema 恢复、数据考古、重新建模 |
## 领域
### [软件逆向工程](software-reversing.md)
最为人熟知的领域。目标是编译形式的代码——原生二进制文件(x86, ARM, RISC-V, …)或中间表示(JVM bytecode, .NET IL, WASM)。核心工作流涉及使用反汇编器/反编译器进行静态分析,以及使用调试器和插桩框架进行动态分析。
**核心工具:** IDA Pro, Ghidra, Binary Ninja, x64dbg, Frida, angr
**常见用例:** CTF 竞赛、恶意软件分析、漏洞研究、DRM 分析、游戏模组
### [硬件逆向工程](hardware-reversing.md)
目标是物理实体:电路板、集成电路和嵌入式系统。分析范围从宏观的电路板拆解一直到硅片级的电路追踪。固件提取是连接硬件和软件逆向的常见桥梁。
**核心工具:** 逻辑分析仪、示波器、JTAG/SWD 调试器、OpenOCD、Binwalk
**常见用例:** IoT 安全研究、固件提取、协议逆向工程、芯片开盖
### [格式逆向工程](format-reversing.md)
侧重于理解二进制数据的结构和语义——它们是如何布局、压缩、加密或分段的。这在游戏模组社区中非常普遍,因为专有的资产容器和未公开的格式在那里是常态。
**核心工具:** 十六进制编辑器(010 Editor, HexFiend)、Kaitai Struct、ImHex、Wireshark
**常见用例:** 游戏资产提取、协议文档化、互操作性工具、存档研究
### [数据库逆向工程](database-reversing.md)
针对结构化数据存储——扁平文件数据库(SQLite, MDB)、关系型 schema 和 NoSQL 集合。目标通常是在缺少文档时进行 schema 恢复,或在系统间迁移时进行重新建模。
**核心工具:** 数据库 schema 可视化工具、SQL 客户端、用于扁平文件格式的十六进制编辑器
**常见用例:** 遗留系统迁移、未记录的数据库 schema 恢复、取证数据考古
## 适合人群?
- 寻找工具和技术参考的**安全研究员和渗透测试人员**
- 希望在多个类别中培养逆向技能的 **CTF 选手**
- 需要关于软件分析工具的结构化资源的**恶意软件分析师**
- 探索硬件和固件分析的**嵌入式/IoT 工程师**
- 处理专有格式和资产的游戏**模组制作者和存档员**
- **任何好奇**事物底层运行原理的人
## 贡献
欢迎贡献。在提交 pull request 之前,请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。
简而言之:每个建议提交一个 PR,保持描述简明扼要,并将链接添加到相应领域文件里相关类别部分的底部。
标签:DAST, 云资产清单, 学习资源, 恶意软件分析, 漏洞分析, 路径探测, 逆向工程