很多人学 Windows 内核,第一步就卡在「保护模式」上。不是因为它难到学不会,而是因为它看起来像一块和内核没关系的硬件知识:段选择子、GDT、页表、特权级……背了也不知道用在哪。结果就是调试器里一断下来,寄存器窗口里的 CS、DS、CR0、CR3 全认识,但说不清系统刚刚做了什么。
这篇导读帮你想清楚一件事:保护模式到底补的是哪块缺口。
先确认你缺的是不是这一块
下面这些场景,如果你中了三条以上,说明问题很可能出在保护模式上,而不是内核代码读得不够多:
- 在 WinDbg 或 x64dbg 里看到
mov cr3, eax、jmp far这类指令,知道语法但讲不出它在切换什么。 - 知道「用户态和内核态」这两个词,但说不清从 3 环进 0 环时,CPU 具体按什么规则换了栈、换了权限。
- 听过分页、看到过 PDE/PTE 这些缩写,但没法解释为什么一个虚拟地址要拆成几段来查表。
- 读内核结构体或者看内存布局时,遇到段基址、线性地址、物理地址混着出现就绕不开。
- 做游戏逆向或安全方向,遇到驱动层保护、内存属性改写、页保护绕过这类问题时,只能照抄思路,无法自己推。
如果对上了,那这门课的主题就不是「科普保护模式」,而是把 CPU 的规则补齐,让你后面看内核流程时少猜。
这门课在做什么
它的落点很明确:先讲清 x86 保护模式这套机制本身,再把它接到 Windows 内核的总体流程上。不是空讲架构手册,而是让 GDT、段描述符、特权级检查、分页这些概念,能对应到你实际调试时会撞见的现象。
中间会涉及在 Windows 上做双机调试的环境处理,包括 32 位和 64 位两种场景下的调试搭建与符号获取。这部分不算「知识点」,但对自学者是实打实的拦路虎——配不起来,后面全是纸上谈兵。
课程也带了一部分偏安全的用例,展示怎么利用对内核和保护模式的理解去处理游戏保护相关的问题。这块建议当成「验证你有没有真懂」的检验,而不是当成可以直接复制的手法。
配套练习与工具
光看架构描述记不住,必须动手看状态。学习过程中会用到几类工具,建议边学边用:
- 调试器:x86/x64 调试器与 WinDbg,用来在断点处直接观察段寄存器、控制寄存器和页表相关的内容。
- 反汇编与静态分析:IDA,用来对照指令理解特权级切换和地址转换发生在哪一步。
- 辅助观察:DebugView 之类的工具,帮你把内核行为和应用层现象对上。
- 环境:用虚拟机搭双机调试,准备 32 位和 64 位两套环境,按课程节奏切着用。
练习的重点不是「跑通一遍」,而是每次断下来都问自己:现在 CS 指向的段是什么权限,当前页表把哪个虚拟地址映射到了哪里。答不上来就回退到对应小节。
看完应该能回答的问题
用这几个问题做自测,比看目录管用:
- 一个段选择子里的每一位分别代表什么,CPU 用它去 GDT 里取了什么?
- 从用户态代码跳进内核态,CPU 做了哪几步检查,栈是怎么切换的?
- 为什么有了分段还要分页,两者各自解决什么问题?
- 线性地址到物理地址的转换,在 32 位和 64 位下分别走几级表?
- Windows 内核启动和保护模式相关的初始化,大致按什么顺序发生?
能顺畅讲清楚,说明这块缺口补上了,再去读内核的调度、内存管理、对象管理,阻力会小很多。讲不清的,就是还需要回头的地方。
开始之前
这门课的前提是 C/C++、汇编基础和一点 PE 结构常识。如果汇编里寄存器和寻址方式还不熟,先花时间补,不然保护模式的内容会变成纯记忆。环境上准备好虚拟机,别在主力机上折腾调试配置。学的时候手边放着 Intel 架构手册卷 3,遇到分页和特权级章节对着看,比只看课更扎实。
Windows内核-保护模式
课程详情
课程标题:Windows内核-保护模式
课程核心介绍:
- 理解Windows内核的总体流程
- 学习保护模式,辅助你更好的理解Windows内核
适合人群:
- 对游戏逆向,游戏安全感兴趣的人群
学习收获:
- 理解Windows内核的总体流程
- 掌握保护模式,为深入理解Windows内核打下基础
课程亮点:
- 深入讲解Windows内核原理,助力游戏逆向和安全研究
- 结合实际案例,演示如何通过学习Windows内核原理来绕过或突破游戏保护
- 涵盖C/C++、汇编、PE结构等前置知识,助你轻松入门
- 提供X64/86dbg、CE、IDA、Windbg、DebugView等实用工具介绍
- 支持VMware、Win7 32、Win10 64(1809)双机调试及符号下载,满足不同学习需求
参考资料:
- IA-32架构软件开发人员手册_卷3(Intel Architecture 32bit简称,即英特尔32位体系架构)
课程目录
01 01.学习路线.mp4 02 02.保护模式简介.mp4 03 03.段寄存器,段选择子,段描述符.mp4 04 04.段描述符属性.mp4 05 05.特权级.mp4 06 06.跨段跳转.mp4 07 07.跨段调用(不提权).mp4 08 08.跨段调用(提权 即调用门).mp4 09 09.中断门.mp4 10 10.陷阱门.mp4 11 11.任务段.mp4 12 12.任务门.mp4 13 13.10 10 12分页.mp4 14 14.PDE和PTE.mp4 15 15.PDE和PTE的属性.mp4 16 16.0地址读写.mp4 17 17.2 9 9 12分页.mp4 18 18.控制寄存器.mp4





