如果你已经写过几个能加载、能通信的 Windows 驱动,却在面对进程保护、对象回调、注册表过滤这些需求时不知道从哪下手,这门课值得花时间看。它不是带你从零写第一个 Hello World 驱动,而是默认你已经跨过了那道门槛,直接进入内核安全里真正有门槛的部分。

它解决的是哪类工作场景

课程围绕进程、文件、注册表三条主线展开,对应的正是内核安全里最常见的几类任务:拦截并判断进程的创建与退出、监控文件与注册表的访问行为、对关键对象做保护或隐藏。这些需求在实际工作中往往以「要做一个能落地的安全驱动」的形式出现,而不是单纯学习 API 调用。课程把这些场景拆成可手写的代码,从零开始逐行实现,而不是给你一个现成的框架去填空。

需要说明的是,内核安全本身处于一个需要谨慎对待的位置。学之前最好清楚自己是为了理解操作系统机制、做安全研究或防御方向的工作,而不是拿去做未授权的对抗。这个前提想清楚,后面的内容才用得上。

学完之后能独立做什么

比较现实的目标是:能独立写出一个具备基本拦截与过滤能力的安全驱动,能读懂内核里对象回调、进程通知这类机制的执行流程,能判断一段驱动代码在不同系统上的行为差异。课程覆盖了 32 位与 64 位,代码兼容 XP 到 Windows 7 这一段跨度,这意味着你会被迫去理解不同系统版本之间的机制差异,而不是只在单一环境里跑通。这件事在真实工作里很关键,因为很多问题恰恰出在版本差异上。

另一块是调试。课程把 WinDbg 的进阶用法放进来了,包括双机调试中定位内核态问题的思路。内核开发不调试基本没法推进,能自己用 WinDbg 把蓝屏、断点、内存查看这些事处理利索,是学完之后能独立干活的重要标志。

资料适合什么基础

这门课定位在进阶,所以不适合完全没接触过驱动的人。你需要至少能独立完成一个基础驱动的编写与加载,看得懂 C 语言和基本的 Windows API,知道驱动入口、设备对象、IRP 这些概念大致是什么。如果这些还停留在「听过但没写过」,建议先把基础部分补上再回来。

  • 已经写过基础驱动,想进入安全方向的开发者;
  • 做安全研究或防御,需要理解内核拦截机制的工程师;
  • 想补操作系统底层认知、愿意动手写代码的转行者。

如果只是对「内核安全」这个词好奇,但没有任何驱动编写经验,这门课大概率会让你在开头几节就卡住。

资料怎么用效率更高

课程全程使用 VS2013 演示,手写代码而非粘贴,这一点对学习是有利的——你能看到每一步是怎么来的。建议不要只看,跟着把每一段驱动实际编译、加载、触发一次,尤其是进程和注册表相关的部分,光看代码很难体会回调在什么时机被调用。

WinDbg 的部分建议单独安排时间练,双机调试环境先搭好,再回头看课程里的调试演示,否则很容易变成看老师操作。系统版本跨度较大,遇到行为不一致时,别急着改代码,先确认是不是系统差异导致的,这本身就是课程想让你建立的一种判断习惯。

整体来看,这门课的价值在于把内核安全里几个核心方向的实现过程讲清楚,而不是给你一套可复制的成品。愿意动手、有基础的人,学完能明显感觉到自己能独立处理的问题变多了;指望拿来就用的人,可能会觉得节奏偏慢。

课程目录

课程目录46 集
  • 01 第一课 驱动开发进阶篇介绍.mp4
  • 02 第二课 常用工具介绍.mp4
  • 03 第三课 实现驱动实现最早启动.mp4
  • 04 第四课 程序安装实现驱动最早启动.mp4
  • 05 第五课 将驱动打包到exe安装包里实现.mp4
  • 06 第六课 驱动程序重新初始化(共2种).mp4
  • 07 第七课 注册关机通知方.mp4
  • 08 第八课 方法2注册关机通知.mp4
  • 09 第九课 驱动层内存操作修改控制寄存器.mp4
  • 10 第十课 windows系统里一块特殊的内存.mp4
  • 11 第十一课_驱动层文件操作文件复制.mp4
  • 12 第十二课 驱动层删除文件操作.mp4
  • 13 第十三课 驱动层文件重命名操作.mp4
  • 14 第十四课 驱动遍历文件夹.mp4
  • 15 第十五课 枚举进程操作.mp4
  • 16 第十六课 暂停进程恢复进程.mp4
  • 17 第十七课 结束进程.mp4
  • 18 第十八课 枚举线程.mp4
  • 19 第十九课 线程的终止操作.mp4
  • 20 第二十课 驱动卸载时对系统线程的处理.mp4
  • 21 第二十一课 枚举进程模块.mp4
  • 22 第二十二课 枚举驱动1.mp4
  • 23 第二十三课 枚举驱动2.mp4
  • 24 第二十四课 驱动程序的深度隐藏(过ark工具).mp4
  • 25 第二十五课 ssdt与sssdt.mp4
  • 26 第二十六课 64位下ssdt函数的枚举.mp4
  • 27 第二十七课 ssdthook实现进程保护.mp4
  • 28 第二十八课 64位下ssdthook.mp4
  • 29 第二十九课 内联钩子的原理.mp4
  • 30 第三十课 实战64位inlinehookunhook.mp4
  • 31 第三十一课 进程监控与线程监控.mp4
  • 32 第三十二课 进程监控与线程监控2.mp4
  • 33 第三十三课 进程监控与线程监控3.mp4
  • 34 第三十四课 监控模块加载.mp4
  • 35 第三十五课 拦截指定的驱动.mp4
  • 36 第三十六课 注册表回调与注册表保护.mp4
  • 37 第三十七课 注册表超强保护.mp4
  • 38 第三十八课 进程与线程保护.mp4
  • 39 第三十九课 实现进程保护.mp4
  • 40 第四十课 线程保护.mp4
  • 41 第四十一课 时间变更回调.mp4
  • 42 第四十二课 驱动代码里内联汇编.mp4
  • 43 第四十三课 驱动读写进程.mp4
  • 44 第四十四课 进程隐藏(防蓝屏版).mp4
  • 45 模块加载32位补充拦截指定驱动.mp4
  • 46 第四十六课 驱动锁定浏览器主页.mp4