# Z0FCourse 逆向工程课程

> Z0F 编写的免费英文课程，讲解如何逆向 64 位 Windows 程序，README 称目标是帮助学习者从入门进阶到中级。Markdown 课程从数制、x64 寄存器、内存布局和调用约定讲起，过渡到 x64dbg 与 Ghidra，再逆向若干小样本以及作者自己编写的 DLL，还原其中的 Player 类，并在自己编写的程序中调用该 DLL 的导出函数。尚未完成的后续章节介绍 Windows 内部机制，并逆向 ntdll 中的 generic table 系列函数。

- 类型：学习资源
- 目标：二进制
- 类别：学习资源
- 关联：学习资源
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/0xZ0F/Z0FCourse_ReverseEngineering>
- 一手来源：<https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/z0f-reverse-engineering-course/>
- 记录 JSON：<https://awesomerea.org/resources/z0f-reverse-engineering-course/record.json>
- 英文版：[English](https://awesomerea.org/resources/z0f-reverse-engineering-course/index.md)

## 使用条件与局限

- 审阅提交为 ee4b070（2026-07-25）。大部分课程写于 2019–2020 年，目录将第 7 章（Windows）和第 8 章（Generic Table）标为未完成；环境配置页和 Before You Begin 页面预告的 .NET 及其他架构内容并不在仓库中。之后的提交多为小修正、格式整理、更新 PDF 副本和添加链接。README 推荐两个 TryHackMe 房间，作为第 1–6 章的交互式版本。
- 第 1 章列出的前置要求是熟练掌握 C/C++、面向对象编程和指针，并强烈建议先学过 x86/x64 汇编。课程需要 64 位 Windows 系统，在进入恶意软件内容之前虚拟机并非必需；环境配置页列为必需的有 Microsoft Visual C++ Redistributable、x64dbg（可选 xAnalyzer 插件），以及 dnSpy 或 ILSpy，并强烈推荐 Ghidra 和 Visual Studio。
- 课程中的目标程序均由作者编写，并连同源码放在 FilesNeeded 中：第 6 章的 DLL、两个调用它的宿主程序及调试符号，另有一个恶意软件样本程序及其投放器，对应尚未撰写的章节，FilesNeeded 注明使用风险自负。第 8 章则分析 Windows 自带的 ntdll.dll，仓库并未包含该文件。仓库还提交了各章的 PDF 副本，README 提醒这些 PDF 可能落后于 Markdown 课程。
- 仓库中的 License.md 为 AGPL-3.0 全文；FAQ 另称仅允许为个人使用而下载，再分发和教学使用则以许可证为准。

## 一手来源

1. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/README.md>
2. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/TableOfContents.md>
3. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/Chapter%201%20-%20Introduction/1.0%20Introduction.md>
4. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/Chapter%201%20-%20Introduction/1.2%20Setup.md>
5. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/FilesNeeded/FilesNeeded.md>
6. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/Chapter%208%20-%20Generic%20Table/8.00%20GenericTable.md>
7. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/FAQ.md>
8. <https://github.com/0xZ0F/Z0FCourse_ReverseEngineering/blob/ee4b07095d6f81ba5e5c7e0b70f7cb39e3af83b1/License.md>

## 同分区更多条目：文档与学习资源

- [OWASP 移动应用安全测试指南（MASTG）](https://awesomerea.org/zh/resources/owasp-mastg/index.md) · 学习资源
- [Decompilation Wiki 反编译维基](https://awesomerea.org/zh/resources/decompilation-wiki/index.md) · 学习资源
- [Frontkick 与 Rikugan：基于 CREBench 的智能体对比](https://awesomerea.org/zh/resources/frontkick-rikugan-crebench-comparison/index.md) · 学习资源
- [FLARE 学习中心](https://awesomerea.org/zh/resources/flare-learning-hub/index.md) · 学习资源
- [Nintendo Switch 逆向工程笔记](https://awesomerea.org/zh/resources/nintendo-switch-joycon-re-notes/index.md) · 学习资源
- [Android 应用逆向工程 101](https://awesomerea.org/zh/resources/android-app-re-101/index.md) · 学习资源

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
