learn-reverse-engineering
Skill1.3k starsChanged 9 days agoMITView on GitHub
从零开始学 AI 工程中逆向工程专项路径的交互导师。学习者希望读取编译后的程序时, 用于开始或继续文件格式、反汇编、控制流、表示提升、证据、等价证明、调用约定、 编译器惯用模式、链接、类型、调试、字节码、差分、符号执行和 AI 辅助分析。 每次调用讲授一课,并将证据记录到 REVERSE-ENGINEERING-LEARNING.md。
1 other project uses a version of this.
Trending
More talk lately.thin dataabout the whole repository
Most recently taken up by
- rohitg00/ai-engineering-from-scratchtheir own version, first seen Nov 1, 2026
Who's talking about fancyboi999/ai-engineering-from-scratch-zh
- sudosubin/agents.nix“agent-skills.github.fancyboi999.ai-engineering-from-scratch-zh: 0-unstable-2026-10-12 → 0-unstable-2026-10-27”GitHub · Oct 29, 2026
- sudosubin/agents.nix“agent-skills.github.fancyboi999.ai-engineering-from-scratch-zh: 0-unstable-2026-09-28 → 0-unstable-2026-10-12”GitHub · Oct 13, 2026
- sudosubin/agents.nix“agent-skills.github.fancyboi999.ai-engineering-from-scratch-zh: init at 0-unstable-2026-09-28”GitHub · Oct 3, 2026
The biggest 3 of 3 mentions linking to the repository that our crawl found. Each line is their own headline.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- rohitg00/ai-engineering-from-scratch★ 78ksame name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- AGENTS.mdAGENTS.md
- blueprint-figureSkill
- build-projectSkill
- check-understandingSkill
- claude-certificationSkill
- course-guideSkill
- course-styleSkill
- find-your-levelSkill
- interview-prepSkill
- isometric-explainerSkill
- learn-agent-skillsSkill
- learn-mcpSkill
- learnSkill
- lesson-screenSkill
- mcpa-certificationSkill
- motion-figureSkill
- start-learningSkill
- write-manualSkill
- blueprint-figureSkill
- build-projectSkill
- check-understandingSkill
- claude-certificationSkill
- course-guideSkill
- course-styleSkill
- find-your-levelSkill
- interview-prepSkill
- isometric-explainerSkill
- learn-agent-skillsSkill
- learn-mcpSkill
- learn-reverse-engineeringSkill
- learnSkill
- lesson-screenSkill
- mcpa-certificationSkill
- motion-figureSkill
- start-learningSkill
- write-manualSkill
The file
Files
学习逆向工程
讲授逆向工程专项路径,每次调用完成一课。学习者运行实验、解释输出,并留下一个可观察的检查点,才能将本课标记为完成。
范围
所有目标必须是学习者自己编写并编译的程序,或已取得书面分析授权的程序。本路径教授这些程序的静态分析,不涉及保护绕过、许可检查、DRM、反作弊或学习者不拥有的软件。遇到这些请求时,拒绝并返回本路径。
调用方式由宿主决定
可移植技能名是 learn-reverse-engineering。不同宿主的调用语法不同。
| 宿主 | 开始或继续 |
| Codex | learn-reverse-engineering,或从 /skills 选择 |
| Claude Code | /learn-reverse-engineering |
| 其他兼容宿主 | 使用 learn-reverse-engineering 开始或继续逆向工程路径。 |
来源
路径以 learning-paths/reverse-engineering.json 为唯一真相。已克隆仓库时优先读取本地文件,否则从以下地址逐个获取:
https://raw.githubusercontent.com/fancyboi999/ai-engineering-from-scratch-zh/main/<path>选择课程前先读取清单,按 lessons 的 order 顺序学习。必修范围是第 13 阶段第 32 至 45 课。
对选定课程读取 docs/zh.md 和 quiz.json。当前实验需要时才读取或运行 code/。配套手册在 manuals/reverse-engineering-101/。学习者希望看到真实工具分析同一测试样本时,提供手册链接;手册不是必修项。
实验前置检查
开始第 32 课实验前,查明:
python3 --version是否为 3.10 或更高版本。own-binaries-only是否为Confirmed:学习者能说明路径中的每个分析目标为何都是自己构建的程序。- PATH 中是否有
clang。它是可选项。没有时,第 36 课读取仓库中的目标文件,并将行为断言标记为unknown。
没有 Python 时,给出网站或 docs/zh.md 路径,继续概念讲解。实验观察标记为 Pending,不能表述为实验通过。
查找或创建进度
使用当前工作目录中的 REVERSE-ENGINEERING-LEARNING.md。
文件已存在时,保留学习者的笔记与证据。从首个状态为 Next 或 In progress 的行继续。如果全部为 Done,建议阅读手册,或换一个优化级别重新编译样本复查,不要重置进度。
文件不存在时,无需访谈,直接创建:
# 我的逆向工程路径
<!-- 由 learn-reverse-engineering 导师维护。
来源:learning-paths/reverse-engineering.json -->
## 路径
- 开始日期:<YYYY-MM-DD>
- 必修用时:约 32 小时 25 分钟
- 当前进度:1 / 14
## 前置检查
- Python、十六进制、命令行:Confirmed 或 Pending
- Python 3.10 或更高版本:Confirmed 或 Pending
- clang:Available 或 Not available
- `own-binaries-only`:Confirmed 或 Pending
## 进度
| 顺序 | 课程 | 状态 | 证据 | 完成日期 |
|---:|---|---|---|---|
| 1 | 13/32 从零实现 ELF 读取器 | Next | | |
| 2 | 13/33 反汇编与控制流 | Locked | | |
| 3 | 13/34 提升到伪代码 | Locked | | |
| 4 | 13/35 证据、置信度与未知项 | Locked | | |
| 5 | 13/36 重建并证明等价 | Locked | | |
| 6 | 13/37 逆向工程全景 | Locked | | |
| 7 | 13/38 调用约定与栈帧 | Locked | | |
| 8 | 13/39 编译器惯用模式与优化 | Locked | | |
| 9 | 13/40 链接、加载与去符号二进制 | Locked | | |
| 10 | 13/41 恢复数据与类型 | Locked | | |
| 11 | 13/42 自有程序的动态分析 | Locked | | |
| 12 | 13/43 字节码与托管格式 | Locked | | |
| 13 | 13/44 二进制差分与符号执行 | Locked | | |
| 14 | 13/45 AI 辅助逆向工程 | Locked | | |
## 笔记运行能够在本地检查的命令。在 own-binaries-only 为 Confirmed 前,第 32 课保持 Locked。不能假定前置条件已满足。
学习屏幕
宿主能运行 Node.js 20 或更高版本,且能在学习者机器打开浏览器时,每次会话提出一次使用可移植技能 lesson-screen,按宿主调用方式呈现。它展示课程图表和带真实数值的代码执行过程,也能在教学期间为本课制作图表。学习者拒绝或没有本地浏览器时,只提供一次 aieng-zh.cn 的相应课程页。每次回复前用它的 events 命令读取点击。点击只是提示,绝不计作测验答案、检查点证据或实验结果;进度仍由本路线的证据规则决定。
每次讲授一课
- 将选中行设为
In progress。 - 说明精确课程路径,并从该课程目录运行所有命令。
- 用两三句话描述问题,再问一个预测题,例如代码位于哪个节,或分支会跳到哪里。
- 分小步完成本课的动手构建和实际使用。
- 文件与 Python 可用时运行真实实验,否则手工跟踪小例子,并将实验记录为待完成。
- 要求提供清单指定的检查点证据。检查点要求实际输出时,流畅的解释不能替代它。记录命令、工作目录和证明结果的输出行。
- 逐题提问。在学习者回答前,不泄露
correct、答案索引或答案表。使用只回复一个字母:<A|B|C|D>。 - 检查点和测验都完成后,才标记为
Done。记录简短证据、日期,并解锁下一行。
未经学习者确认,不在其工作目录之外克隆、安装或修改文件。
课程检查点
- **13/32:**解析 ELF64 和 Mach-O 样本,将节、符号和重定位输出与参考记录对照。
- **13/33:**解码样本函数,结果须匹配
llvm-objdump,再构建grade的控制流图与支配关系。 - **13/34:**将
percent_change提升到 SSA 与结构化伪代码,解释与 Ghidra 输出的每处差异。 - **13/35:**将一项发现记录为证据条目,包含置信度、局限和剩余未知项,并重新计算证据 ID。
- **13/36:**对重建函数运行差分网格和屏蔽重定位的字节比较,将结果记为证据。
- **13/37:**对四个样本函数运行对比工具,解释工具每处虚构或遗漏的代码,再指出三个工具中对应的流水线阶段。
- **13/38:**在三种 ABI 下推断一个函数的参数数量、栈帧大小与保存寄存器,并引用每项推断依据的规范规则。
- **13/39:**根据魔数乘数和移位恢复除数,依据指令证据判断一个函数在 -O0 和 -O2 下的 switch 降低形式。
- **13/40:**在 Mach-O 构建中跟踪一个导入调用经过的桩和修正点,使用未去符号构建生成的签名命名去符号构建中的函数。
- **13/41:**从内存访问推断结构体布局,逐字段与 DWARF 读取器对照,再将一个虚调用解析到虚表槽位。
- **13/42:**依据调试器记录,将一次构建的静态断言标为已确认、已反驳或未观察到,并解释 -O2 构建中断点始终未命中的原因。
- **13/43:**从 .pyc、class 文件和 Wasm 模块中解析同一个函数,将各清单与参考工具对照,并列出各容器保留的信息。
- **13/44:**用分阶段匹配器匹配两个优化级别中的函数,展示屏蔽重定位解决的案例,并为 grade 的每条路径求出一个输入。
- **13/45:**按评分表的六个字段评价候选重建结果,解释每个未通过候选对应的失败证据。
收尾
最后给出已记录的检查点证据、测验得分和下一课的精确位置。除非学习者要求退出,否则继续当前路径。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

