如果你已经写过驱动、用过 WinDbg 看过栈,但遇到「窗口被保护后钩子失效」「APC 在什么时机插入才不蓝屏」「DPC 和定时器到底谁在什么 IRQL 跑」这类问题时只能靠试,那阶段 5 值得花时间。它不补基础语法,补的是内核里几个最容易「会用不会讲」的机制。
先确认自己缺的是哪一块
这门课的主题分布比较集中,大致落在窗口与 Hook、APC、保护模式、DPC 与定时器、同步、句柄表、进程线程这几条线上。你可以拿下面几个问题自测,答不上来的部分就是该重点看的部分:
- ETHWHOOK 的原理是什么,它和常规的窗口 Hook 在拦截位置上差在哪?窗口保护做完之后,为什么原来的取 API 方式会拿不到东西?
- APC 有哪几种插入方式,内核 APC 和用户 APC 的投递条件分别是什么?挂靠(Attach)之后当前线程的环境发生了哪些变化?
- x86 的保护模式里,段选择子、GDT、页表这几层是怎么串起来的?为什么换页目录会影响整个地址空间?
- DPC 和定时器分别在什么 IRQL 上执行,能不能等对象、能不能访问分页内存?
- 句柄表在内核里是怎么组织的,多级表的意义是什么?进程线程对象在创建和退出时,哪些资源是按什么顺序释放的?
这些问题不是知识点罗列,而是实际调试时会被卡住的地方。课程把它们放在一起讲,好处是窗口、APC、同步之间能互相对照,而不是各学各的。
内容组织的取向:偏机制而非 API 手册
从窗口这一块的安排能看出思路:先讲原理,再做准备工作,然后是 HOOK API 的获取,最后落到窗口保护的完整实现。这条线不是教你调某个函数,而是让你理解拦截点选在哪里、为什么这个位置可行。APC 部分同样配套了文档,说明这一块光看代码不够,得回头对概念。挂靠单独成节也合理,因为线程环境切换是后面很多问题的前提。
需要提醒的是,阶段 5 默认你已经能独立编译、加载、调试驱动,也看得懂反汇编里常见的调用约定。如果保护模式、IRQL 这些概念还是模糊的,看窗口和同步部分会比较吃力,建议先把前几阶段或对应基础补上,别硬啃。
怎么看效率更高
- 窗口与 Hook 部分,跟着做完一遍之后,把拦截点换一个位置自己再实现一次,对比差异。
- APC 部分,在插入时机上做实验:换不同 IRQL、不同线程状态,观察行为变化,比单纯记结论有用。
- DPC 与定时器,重点确认执行环境,把「能不能等」这件事用代码验证一遍。
- 句柄表和进程线程,建议配合 WinDbg 的
!handle、!process一类命令对照观察结构,别只看文字描述。 - 同步部分,把死锁和 IRQL 违规各制造一次,再看崩溃现场,印象会深很多。
看完应该能回答的问题
如果这一阶段真的吃透了,下面这些应该不用翻笔记就能说清楚:ETHWHOOK 的原理和适用场景;窗口保护之后原有取 API 路径为什么失效、替代路径是什么;APC 的插入时机与投递条件;挂靠对当前线程地址空间和访问权限的影响;DPC、定时器各自运行在什么 IRQL、有哪些禁忌操作;句柄表的结构以及进程线程退出时的资源回收顺序。答不上来的那一条,就是需要回去重看的地方。
这门课不适合当作查漏的速查手册,它更接近一本需要动手跟做的机制笔记。看的时候把调试器开着,遇到结论就去验证一次,收获会比单纯看完大得多。
火哥的Windows内核阶段5
深入理解Windows内核机制
编辑点评
系统深入,循序渐进,适合有一定基础的Windows内核开发者。
⭐ 编辑推荐
本课程由资深内核专家火哥主讲,系统讲解Windows内核阶段5知识,涵盖窗口、APC、保护模式、DPC与定时器、同步、句柄表、进程线程等多个方面。
课程亮点
课程目录
📁 火哥内核上
📁 📁 12.窗口
12.窗口文档.png [493.5 KB]
4.窗口保护完成_ev.mp4 [1.2 GB]
3.窗口保护HOOKAPI获取_ev.mp4 [1.2 GB]
2.ETWHOOK窗口保护准备前奏_ev.mp4 [1.2 GB]
1.ETWHOOK原理_ev.mp4 [1023.1 MB]
📁 📁 7.APC
7.APC文档.zip [1.8 MB]
5.挂靠_ev.mp4 [2.1 GB]
2.APC插入_ev.mp4 [1.6 GB]
3.内核APC执行过程_ev.mp4 [1.5 GB]
1.APC初始化,R3APC注入2_ev.mp4 [1.3 GB]
1 APC初始化,R3APC注入1_ev.mp4 [55.9 MB]
4.APC用户执行_ev.mp4 [1.6 GB]
📁 📁 2.保护模式
2.保护模式必看.zip [1.8 MB]
6.中断门_ev.mp4 [533.1 MB]
5.调用门_ev.mp4 [588.1 MB]
11.幽灵地址_ev.mp4 [1.2 GB]
8.任务段_ev.mp4 [923.6 MB]
17.TLB_ev.mp4 [331.7 MB]
3.DB_G_ev.mp4 [630.2 MB]
7.陷阱门与劫持int3作业_ev.mp4 [614.2 MB]
4.权限检测_ev.mp4 [622.5 MB]
18.控制寄存器_ev.mp4 [344.7 MB]
15.29912杂项_ev.mp4 [590.8 MB]
9.任务门_ev.mp4 [349.3 MB]
14.29912_ev.mp4 [570.2 MB]
13.页基址_ev.mp4 [918.9 MB]
2.段的初探_ev.mp4 [632.2 MB]
10.101012分页前戏_ev.mp4 [612.0 MB]
12.页属性_ev.mp4 [738.9 MB]
16.缓存_ev.mp4 [422.3 MB]
1.CPU科普_ev.mp4 [567.9 MB]
📁 📁 10.DPC与定时器
10.DPC与定时器文档.zip [1.8 MB]
1.DPC与定时器_ev.mp4 [850.4 MB]
📁 📁 11.同步
11.同步资料.png [493.5 KB]
1.原子指令锁_ev.mp4 [930.2 MB]
4.事件信号处理_ev.mp4 [577.6 MB]
3.KeWaitForSingleObject分析_ev.mp4 [852.4 MB]
2.等待块结构_ev.mp4 [762.2 MB]
5.信号量与互斥体_ev.mp4 [898.8 MB]
6.互斥体_ev.mp4 [904.2 MB]
📁 📁 6.句柄表
6.句柄表资料.zip [1.8 MB]
2.保护进程_绝杀.mp4 [4.4 GB]
3.私有句柄表.mp4 [3.2 GB]
1.全局句柄表.mp4 [5.9 GB]
4.句柄防止降权.mp4 [7.6 GB]
4.句柄防止降权_ev.mp4 [3.0 GB]
📁 📁 5.进程线程
5.进程线程必看.zip [1.8 MB]
3.线程结构01_ev.mp4 [1.7 GB]
6.被动切换_ev.mp4 [779.8 MB]
2.进程_ev.mp4 [2.1 GB]
1.KPCR_进程概念_ev.mp4 [1.2 GB]
5.线程主动切换_ev.mp4 [930.5 MB]
4.线程查找_ev.mp4 [782.3 MB]
📁 📁 8.项目
1.获取模块.mp4 [3.8 GB]
3.win10通讯与R3封装.mp4 [3.4 GB]
5.读内存姿势.mp4 [3.5 GB]
11.远程CALL完成 游戏测试.mp4 [5.1 GB]
14.易语言模块封装.mp4 [4.1 GB]
13.自动化加壳签名.mp4 [2.8 GB]
12.隐藏驱动.mp4 [3.5 GB]
7.写内存.mp4 [2.7 GB]
2.通讯.mp4 [4.4 GB]
4.驱动安装.mp4 [2.9 GB]
09.让ntoskrnl保护我们的进程.mp4 [1.4 GB]
10.远程call.mp4 [2.1 GB]
📁 📁 9.回调
1.进程线程模块回调_ev.mp4 [585.0 MB]
📁 📁 4.系统调用
2.系统调用进内核_ev.mp4 [1.2 GB]
3.系统调用返回R3_ev.mp4 [728.5 MB]
第四章4.SSDThook_ev.mp4 [987.8 MB]
1.系统调用1_ev.mp4 [474.9 MB]
📁 📁 3.驱动开发
3.链表_ev.mp4 [1005.8 MB]
08.驱动内存加载1_ev.mp4 [1.3 GB]
10.云编译_ev 播放不了.txt
1.驱动helloworld_ev.mp4 [652.4 MB]
09.内存加载2_ev.mp4 [2.9 GB]
05.蓝屏分析_ev.mp4 [1.5 GB]
10.云编译_Compress.mp4 [550.4 MB]
06.驱动通信1_ev.mp4 [2.3 GB]
2.驱动基础1_Compress.mp4 [110.1 MB]
07.通信封装_ev.mp4 [1.3 GB]
4.驱动断链_ev.mp4 [1.4 GB]
📁 📁 1.环境配置
1.环境配置_ev.mp4 [895.6 MB]
火哥内核上文档.png [493.5 KB]
📁 火哥内核下
📁 📁 5.调试
5.调试文档.png [493.5 KB]
x5_06.单步与硬件_Compress.mp4 [189.2 MB]
x5_01.调试体系_Compress.mp4 [178.4 MB]
x5_02.假消息发送_Compress.mp4 [279.5 MB]
x5_03.调试等待事件_Compress.mp4 [215.4 MB]
x5_07.内存断点_Compress.mp4 [53.0 MB]
x5_05.INT断点原理_Compress.mp4 [208.5 MB]
x5_04.调试事件返回_Compress.mp4 [166.7 MB]
📁 📁 6.进程伪装
6.进程伪装说明.zip [1.8 MB]
x6_04.伪装完成_Compress.mp4 [346.7 MB]
x6_03.修改PEB64_Compress.mp4 [284.5 MB]
x6_02.伪装文件对象_Compress.mp4 [325.3 MB]
x6_01.伪装进程1_Compress.mp4 [187.5 MB]
📁 📁 8.VT
8.VT说明.png [493.5 KB]
11.事件注入_ev.mp4 [960.4 MB]
08.SSDT_SHADOW失败_ev.mp4 [2.3 GB]
05.VT框架完成_ev.mp4 [814.7 MB]
02.VT检测_ev.mp4 [572.9 MB]
07.VT退出_msr拦截的前戏_ev.mp4 [857.5 MB]
10.异常拦截_ev.mp4 [1.1 GB]
01.VT概述_ev.mp4 [410.0 MB]
03.初始化VMON区_ev.mp4 [495.8 MB]
04.VMX_HOST_GUEST区填充_ev.mp4 [1.7 GB]
09.让我们的VT支持WIN10_ev.mp4 [1.6 GB]
06.Cpuid拦截,框架完成_ev.mp4 [2.5 GB]
📁 📁 3.X64
3.X64资料.zip [1.8 MB]
05.x64分页_ev.mp4 [885.0 MB]
09.系统调用1_ev.mp4 [588.0 MB]
03.X64段简介_ev.mp4 [410.3 MB]
12.进程回调_ev.mp4 [1.3 GB]
06.隐藏可执行内存_ev.mp4 [959.4 MB]
11.内核系统调用_ev.mp4 [850.8 MB]
13.突破WIN10映射物理页_ev.mp4 [604.4 MB]
01.X64入门_ev.mp4 [474.4 MB]
02.x64汇编细节_ev.mp4 [777.7 MB]
07.注入第一天_ev.mp4 [1.1 GB]
10.R3SSDT表_ev.mp4 [582.0 MB]
04.调用门_ev.mp4 [913.8 MB]
08.隐藏注入线程_ev.mp4 [566.4 MB]
📁 📁 4.X64异常
4.X64异常文档.png [493.5 KB]
x4_14.SEH异常修复_Compress.mp4 [241.6 MB]
x4_07.VEHBUG修复讲解_Compress.mp4 [26.1 MB]
x4_11.SEH全局展开_Compress.mp4 [155.7 MB]
x4_12.最后一道防线_Compress.mp4 [151.4 MB]
x4_04.32位异常派发流程_Compress.mp4 [169.6 MB]
x4_06.VEH无痕HOOK_Compress.mp4 [271.1 MB]
x4_13.x64SEH_Compress.mp4 [171.3 MB]
x4_02.模拟异常流程_Compress.mp4 [89.7 MB]
x4_03.异常派发_Compress.mp4 [177.9 MB]
x4_10.SEH局部展开_Compress.mp4 [108.2 MB]
x4_01.CPU异常简介_Compress.mp4 [111.9 MB]
x4_09.SEH编译器扩展_Compress.mp4 [91.3 MB]
x4_08.SEH异常_Compress.mp4 [140.4 MB]
x4_05.VEH逆向分析_Compress.mp4 [202.9 MB]
📁 📁 1.开幕
1.开幕资料.zip [1.8 MB]
1.开讲第一天(座谈大会)_ev.mp4 [651.0 MB]
📁 📁 7.调试自建
3.修复BUG_ETWHOOK调试API.mp4 [4.0 GB]
5.首次断点绕过PEB检测.mp4 [3.4 GB]
2.调试代码修复,未完成.mp4 [2.2 GB]
4.读写函数完成.mp4 [3.9 GB]
1.调试自建的介绍.mp4 [458.9 MB]
📁 📁 2.内存
1.VAD私有内存_ev.mp4 [572.0 MB]
2.映射内存锁页_ev.mp4 [1.2 GB]
4.修改页属性_ev.mp4 [676.9 MB]
3.页帧数据库-6大链表_ev.mp4 [749.2 MB]
火哥内核下资料.zip [1.8 MB]
📁 VT-全
16.VTEPT_HOOK2.mp4 [250.6 MB]
12.EPT概念阐述.mp4 [123.1 MB]
14.EPT处理.mp4 [241.2 MB]
08.SSDT_SHADOW失败_ev.mp4 [2.3 GB]
04.VMX_HOST_GUEST区填充.mp4 [346.8 MB]
02.VT检测_ev.mp4 [572.9 MB]
05.VT框架完成_ev.mp4 [814.7 MB]
18.VT过VMP虚拟化.mp4 [323.4 MB]
13.VTEPT构建页表.mp4 [180.8 MB]
06.Cpuid拦截,框架完成_ev.mp4 [2.5 GB]
03.初始化VMON区.mp4 [118.1 MB]
09.让我们的VT支持WIN10_ev.mp4 [1.6 GB]
07.VT退出_msr拦截的前戏_ev.mp4 [857.5 MB]
15.EPTHOOK.mp4 [320.3 MB]
17.EPT_HOOK03.mp4 [592.3 MB]
01.VT概述.mp4 [104.8 MB]
11.事件注入_ev.mp4 [960.4 MB]
10.异常拦截_ev.mp4 [1.1 GB]适合人群
- Windows内核开发者
- 系统架构师
- 对内核技术感兴趣的开发者
学习收获
祝您学习愉快!
学有所成,前程似锦!





