- 文集信息
- 目录大纲
- 最新文档
- 知识宇宙
文集详情
文集导读
教程总纲 · AI 逆向工程与代码理解实战
讲什么、怎么学、怎么跳读,一页说清。本书轴心是「没有源码、只有二进制」的理解问题:AI 提出假设,人与工具负责验证。
一、这本书讲什么
一句话:教你与 Ghidra、radare2 和大模型结对,理解没有源码的二进制程序,并把这套结对变成可编程的流水线。
展开成三句:
- 地基——先会老手艺:Ghidra 的反编译阅读与 headless,radare2 的命令行范式与 r2pipe。这两块是后面一切 AI 工具流的底座:模型能调用的每个能力,都是老手艺的某个动作。
- 工具流——把工具交给模型:GhidraMCP 让模型直接操作 Ghidra 工程;r2ai 与 r2mcp 让 r2 变成模型的双手;REA 用一个入口聚合多引擎与多对象类型。依据是 EnIGMA(ICML 2025,arXiv:2409.16165):交互式工具接入后,语言模型智能体解 CTF 与找漏洞的能力大幅提升。
- 纵深与方法——semgrep 与 CodeQL、Joern 代码属性图、angr 符号执行、反编译专用模型把分析推向数据流与可计算验证,最后收束为 AI 漏洞挖掘方法论、评测与工程化证据链。
二、全书地图
【地基 · 第 00~02 章】 【工具流 · 第 03~05 章】 【纵深 · 第 06~09 章】 【方法 · 第 10~11 章】 第 00 章 导览 第 03 章 GhidraMCP实战 第 06 章 静态分析双引擎 第 10 章 AI漏洞挖掘方法论 ├ 0.1 老手艺与AI的新位置 ├ 3.1 架构与安装 │ (semgrep 与 CodeQL) 第 11 章 工程化与合规 └ 0.2 全书地图与环境准备 ├ 3.2 双客户端接入 第 07 章 代码属性图Joern 附录 第 01 章 Ghidra地基 └ 3.3 headless批处理实战 第 08 章 angr假设验证闭环 ├ A 术语表 ├ 1.1 安装与首个工程 第 04 章 r2ai与r2mcp 第 09 章 反编译专用模型 ├ B 工具速查 ├ 1.2 反编译阅读 ├ 4.1 r2ai角色预设 │ 与命名恢复 └ C 练习题 └ 1.3 headless与PyGhidra ├ 4.2 ReAct自动模式与本地RAG 第 02 章 radare2与脚本化 └ 4.3 r2mcp自建工具流 ├ 2.1 r2命令行逆向范式 第 05 章 REA聚合层 └ 2.2 r2pipe可编程逆向 ├ 5.1 定位与安装 ├ 5.2 多引擎与多对象 └ 5.3 证据与局限输出
二进制 ──▶ Ghidra / r2 打地基 ──▶ MCP 工具流让模型动手 ──▶ 双引擎 / 属性图 / 符号执行做纵深 ──▶ 方法论与证据链收束。
三、逐章简介
- 第 00 章 导览:还原逆向工程师的工作流(静态、动态、直觉),对照大模型的长短板,立起「AI 提假设、人与工具做验证」的全书立场;给出三条阅读路径与环境清单,并与《语义代码检索》划清分工。
- 第 01 章 Ghidra地基:从 JDK 与安装讲起,导入第一个自己编译的程序;伪 C 窗口、交叉引用、重命名与注释,走查一个 stripped 小程序,恢复其许可校验逻辑;再用 analyzeHeadless 与 PyGhidra 把界面操作变成脚本,产出函数清单 JSON。
- 第 02 章 radare2与脚本化:r2 的 seek / 分析 / 打印三段哲学与核心命令族,用 r2 重演第 01 章走查并互证;r2pipe 让 Python 驱动 r2,批量导出函数与伪代码文本,定下全书通用的函数级备料格式。
- 第 03 章 GhidraMCP实战:GhidraMCP 2.0 的三层架构(Java 插件内置 HTTP server 加 Python MCP 桥)、stdio 与 streamable-http 两种传输;VS Code 与 Claude Code 双客户端接入,对话完成列函数、反编译、重命名、追引用;headless 批处理与命名建议的生成、复核、回写三段流程。
- 第 04 章 r2ai与r2mcp:r2ai 的 explain / autoname / vulns / decompile 四个预设角色;ReAct 自动模式让模型自主发命令,内置本地 RAG 向量库解决上下文装不下;r2mcp 把 r2 暴露为 MCP 服务器,自建「假设 → 验证 → 回填」流水线,结论全留痕。
- 第 05 章 REA聚合层:REA 以「Reverse Engineer Anything」为口号聚合多引擎与多对象(约 27.1 万 stars 为社区口径,2026-04 创建半年至此,增速异常,选型请自行甄别);多引擎取伪代码与 Electron / Go / Rust / WASM / EVM / APK / 固件 / pcap 多对象分析;结论附证据与局限说明的读法、项目成熟度自查与前半本收官。
- 第 06 章 静态分析双引擎:semgrep 三行规则起步到污点模式,CodeQL 把代码当数据库查询;两台引擎的分工与组合,为 AI 假设提供第一组确定性验证器。
- 第 07 章 代码属性图Joern:把反编译产物与源码统一成代码属性图(CPG),用查询语言做数据流与结构检索,回答「数据从哪流到哪」。
- 第 08 章 angr假设验证闭环:符号执行把「模型说这里可能溢出」变成可计算的约束求解问题,假设验证从人肉复现升级为自动判定。
- 第 09 章 反编译专用模型与命名恢复:反编译专用模型的训练目标与边界;变量与函数命名的批量恢复管线及质量评估,深化第 03~04 章的 autoname 实践。
- 第 10 章 AI漏洞挖掘方法论与评测:把前面所有工具拼成方法论,用公开基准与自建评测集度量「模型加工具」的真实能力。
- 第 11 章 工程化与合规:证据链组织(每条结论可回溯到反汇编、xref、求解记录)、报告模板与合规边界,收纳全书纪律。
- 附录 A 术语表:全书技术名词的中英对照与一句话解释。
- 附录 B 工具速查:Ghidra、r2、GhidraMCP、r2ai、REA 的命令与配置速查卡。
- 附录 C 练习题:分章练习与综合题,含提示与参考思路。
四、按需跳读
- 工具快用型(约两天):0.1 → 0.2 → 第 01 章全读 → 2.1 → 第 03 章全读。产出:能和模型结对读完一个陌生二进制。
- 自动化型(约三天):2.2 → 第 04 章全读 → 第 05 章。产出:一条从二进制到结构化结论的可编程数据流。
- 分析纵深型(一周以上):第 0002 章打底后直入第 0611 章,适合漏洞研究方向。
- 关心特定工具:GhidraMCP 直奔 3.1 与 3.2;r2ai 直奔 4.1 与 4.2;REA 直奔第 05 章(先读 5.1 的热度标注)。
- 有源码的项目:先读《语义代码检索》第 1 章《为什么 grep 不够》与第 6 章《repo-map 与 agentic 检索》,再回来按「二进制侧」路径走。
- 只想看观点:依次读第 0.1 节(立场)、5.3 节(证据与媒体素养)、第 11 章支柱页(后续批次),半小时建立全局判断。
- 按工具查用法:先把《附录 B 工具速查》(后续批次)当索引,反向定位到对应章节再精读。
- 带教 / 培训场景:第 00 章两节做开营,第 01~03 章做工作坊,练习题配《附录 C》(后续批次)。
五、环境与约定
- 基础环境四件:Ghidra 12.1.4(含 JDK 21 及以上)、radare2(最新 6.2.4,社区口径)、Python 3.12、隔离环境。逐项安装与自检见第 0.2 节。
- 练习对象只用自己编译的程序、公开 CTF 样本与开源软件;未知二进制一律先进隔离环境(见《Agent 沙箱与运行时隔离》第 2 章《从零搭一个 Agent 沙箱》)。
| 篇 | 章 | 预算 | 额外先修 |
|---|---|---|---|
| 地基 | 第 00~02 章 | 约三天 | 无(第 01 章从安装教起) |
| 工具流 | 第 03~05 章 | 约四天 | Node.js(第 05 章接入用) |
| 纵深 | 第 06~09 章 | 约五天 | 正则与查询语言的基础语感 |
| 方法 | 第 10~11 章与附录 | 约三天 | 读完前面三篇 |
六、参考来源
- Ghidra 官方文档与 GitHub 仓库(NationalSecurityAgency/ghidra,约 8.9 万 stars,Apache-2.0,12.1.4,社区口径 2026-10;PyGhidra 与 analyzeHeadless 以官方文档为准)
- GhidraMCP 官方仓库(LaurieWired/GhidraMCP,约 1.1 万 stars,Apache-2.0;2.0 发布于 2026-10-10,适配 Ghidra 12.1.4,社区口径)
- radare2 官方文档与 r2pipe 绑定说明(radareorg/radare2,约 2.5 万 stars,6.2.4,社区口径)
- r2ai 官方仓库与 README(radareorg/r2ai,约 490 stars,MIT,社区口径;角色、ReAct、RAG 用法以官方文档为准)
- REA 官方仓库(morluto/rea,约 27.1 万 stars 为社区口径,2026-04 创建、增速异常,建议自行甄别;MIT)
- EnIGMA 论文(ICML 2025,arXiv:2409.16165)
- 《语义代码检索》第 1 / 3 / 6 章;《build-your-own-x》第 9 章《造操作系统与编译器》;《Agent 沙箱与运行时隔离》第 2 章《从零搭一个 Agent 沙箱》
合规声明:本节内容仅用于授权范围内的安全研究与教育目的;未经授权对他人软件进行逆向工程可能违反法律与许可协议。
目录大纲
最新文档
知识宇宙
正在加载知识图谱...