如果你写过 Windows 应用层程序,再往下走一步,很快就会碰到同一类问题:想读一段物理内存、想枚举内核对象、想拦截某个系统调用、想给自己的硬件写个能真正跑起来的驱动。这时候你会发现,应用层那套 API 不够用了。这门《Windows x64位驱动程序开发》针对的就是这个交叉点——从会写 C/C++ 的用户态程序,到能独立编译、加载、调试一个 x64 内核驱动。

这门课真正解决的工作场景

它不教你从零学 C 语言,也不是那种把 WDK 文档念一遍的课。它瞄准的是几件具体的事:你的驱动要能在 64 位 Windows 上编译通过、能正确加载、能在内核里安全地申请和释放内存、能处理 IRP、能跟应用层通过 DeviceIoControl 收发数据。再往深一点,涉及内核里的同步、对象管理,以及为什么很多在应用层理所当然的写法,一进内核就会蓝屏。

这些恰是实际工作中最容易卡住的地方。视频教程看得懂、代码抄下来也能编译,但一旦换个需求就不知道从哪下手,原因通常是缺了对内核这套运行规则的理解。课程试图补的就是这一层。

学完之后你能独立做什么

  • 搭好一套 x64 驱动开发环境,用 VS2019 建工程、配置目标系统、编译出可加载的驱动。
  • 写一个完整的、能跟应用层通信的驱动,而不是停留在「Hello World」级别的加载测试。
  • 看懂内核里的常见结构和调用约定,遇到报错能自己定位,而不是只会搜现成代码。
  • 具备继续深入的基础——比如转向过滤驱动、文件系统、网络驱动这些方向时,不至于从零开始。

需要说明的是,驱动开发本身门槛不低。学完不等于能马上接手一个商业级驱动项目,但你能从「完全不敢碰内核」变成「能动手写出可运行、可调试的东西」,这个跨度对转岗或做底层相关工作的上班族来说,是实打实的一步。

资料适合什么基础的人

先说实话:如果 C 语言还没写过指针和结构体,这门课会跟得很吃力。它默认你已经能用 C/C++ 写程序,最好还写过一点 Windows 应用层开发,知道句柄、消息、动态库这些概念。汇编部分课程会带到,但不需要你精通,能看懂寄存器层面的调试信息就够了。MFC 的内容属于兼顾性质,不是核心,不用为它焦虑。

反过来说,如果你正好是做安全、逆向、硬件驱动、虚拟化相关工作的,或者想从应用开发往底层转,这门课的性价比就很高——因为这类内容自学时最容易走的弯路,是环境搭不起来、加载失败却找不到原因,而有人带着过一遍能省下大量试错时间。

怎么用这套资料

建议按「先跑通、再理解、后扩展」的节奏走。第一遍不要纠结每个内核 API 的细节,先把环境配好,跟着把一个最小驱动编译出来、加载上去、能在调试器里看到输出,这一步成功会给你很大的正反馈。第二遍再回头抠 IRP 处理、内存管理、同步这些真正决定代码质量的部分,边看边自己改代码验证。

驱动开发有个特点:光看不动手等于没学。每个知识点最好都自己敲一遍、改几个参数看行为变化。遇到蓝屏别慌,学会用 WinDbg 看 dump、定位出错位置,这个能力比记住多少 API 都重要。整套资料吃透需要投入相当的时间,不是一周能速成的东西——评估它值不值得,先问自己是不是真的会用到内核这一层。如果答案是肯定的,它值得认真学;如果只是好奇,可以先放一放。

课程目录

课程目录19 集
  • 01 Windows x64位驱动程序开发VS2019 安装和环境.mp4
  • 02 VS2019 创建一个驱动程序.mp4
  • 03 应用程序加载驱动.mp4
  • 04 应用程序卸载驱动.mp4
  • 05 应用程序与驱动程序通信.mp4
  • 06 应用程序与驱动程序数据交互.mp4
  • 07 windbg搭建双机调试环境.mp4
  • 08 内存操作.mp4
  • 09 VS2019 配置双机调试.mp4
  • 10 遍历进程.mp4
  • 11 结束进程.mp4
  • 12 内核拦截 inLine Hook.mp4
  • 13 驱动中使用链表.mp4
  • 14 遍历驱动模块.mp4
  • 15 隐藏模块驱动.mp4
  • 16 隐藏进程.mp4
  • 17 进程回调函数.mp4
  • 18 保护进程.mp4
  • 19 保护内存.mp4