x86 Assembly: 编写 CPU 实际执行的代码
Assembly 语言是最接近裸机的语言,除了手工编写二进制代码。每条指令都直接对应一个 CPU 操作——没有运行时、没有垃圾收集器、没有抽象隐藏硬件的工作原理。本专题从第一性原理开始涵盖 x86 Assembly,一直到内核级编程,为你打下基础,使从编译器到漏洞利用开发的一切都变得易于理解。
你将学到什么
你将从寄存器、内存布局和数据类型开始,然后学习基本指令和控制流、栈管理和过程调用约定。之后本专题涵盖 Assembly 与 C 和 C++ 代码的交互、系统调用、中断和异常处理、浮点单元和 SIMD 指令的使用。高级课程涉及调试和逆向工程、内存保护机制、虚拟化、内核级驱动编程,以及包括利用技术在内的低级性能优化。
学习路径
十二门课程跨越 A2 到 C2 级别。免费入门课程建立 x86 语法和思维模型。B1 和 B2 课程构建实践核心——寄存器、控制流、栈和过程。然后本专题转向 C1 深度,包含五门课程,涵盖 C/C++ 互操作、系统调用、中断、SIMD 和逆向工程。两门 C2 课程——内存保护和虚拟化以及内核级编程和驱动——之前是关于性能优化和利用的最后一门课程,它将从缓存行为到安全相关的低级技术的一切联系起来。
工作原理
每门课程分为短小、专注的课时,你在内置代码编辑器中完成,有实时反馈。当你在指令编码或无法解释的 segfault 上遇到困难时,可获得 AI 助教的帮助。