逆向工程:读懂你从未拥有过源代码的软件
逆向工程是分析已编译软件以理解其工作原理的学科——无需访问原始源代码。安全研究人员使用它来发现漏洞,恶意软件分析师使用它来剖析恶意代码,固件工程师使用它来理解嵌入式系统。本课程涵盖完整堆栈:从原始二进制格式和 Assembly 到静态和动态分析,再到漏洞利用开发和高级反RE技术。
你将学到什么
你将从二进制基础开始——可执行文件格式、内存布局以及高级代码如何映射到机器指令。然后你将读取并理解真实反汇编输出中出现的 x86/x64 Assembly。你将使用静态分析工具在不运行二进制文件的情况下检查它们,然后转向动态分析和调试来观察实时执行。后续课程涵盖恶意软件分析、编译器优化及其如何隐示意图、用于自动化静态分析的脚本编写,以及野生环境中使用的反逆向工程技巧。课程最后涵盖固件和嵌入式系统RE、漏洞研究、漏洞利用开发,以及该领域发展方向的概览。
学习路径
十二门课程从 A1 到 C2。开始课程在 A1 级别介绍核心概念,并提供免费的首次体验;接下来的两门课程(A2–B2)建立二进制素养和 Assembly 阅读能力。四门 B2/C1 课程随后涵盖主要分析工作流:静态工具、动态调试、恶意软件基础和脚本编写。最后四门课程在 C1–C2 级别运行,处理最难的内容:编译器优化及其对反汇编的影响、固件和嵌入式目标、漏洞研究和漏洞利用开发,以及包括该领域当前趋势在内的高级主题。
工作原理
每门课程分为简短、专注的课程,在内置编辑器中进行实践练习——你读取 Assembly、注解二进制文件,并通过实时反馈完成真实分析任务。当你在指令序列、工具标志或不熟悉的二进制结构上遇到问题时,在每一步都可以获得 AI 导师的帮助。