Windows 内核安全与驱动开发属于底层系统研究的高阶领域,并非通用的职场技能或大众兴趣课程。它主要解决的是如何突破用户态限制,直接在系统核心层编写代码以操作硬件资源、拦截系统事件或保护关键数据的问题。这门课适合那些已经具备扎实 C 语言基础,深入理解指针、内存管理及进程线程模型,且对操作系统内部机制有强烈探究欲的进阶开发者。如果你只是希望快速求职或转行,并不建议投入大量时间在此处,因为内核开发对逻辑严密性和调试能力要求极高,初学者往往会在蓝屏死机和驱动签名问题上消耗大量精力。该课程更适合作为白帽安全研究、逆向工程或底层系统维护方向的技术深耕路径,而非入门跳板。

学习路径与门槛把控

建议的学习顺序应从驱动开发环境的完整部署开始,这是最容易被忽视但最关键的环节。内核调试环境涉及 DDK、WDK 以及不同版本编译器的复杂配置,初学者需在此处反复练习,直到能独立排查编译错误和驱动加载失败的问题,这是构建后续所有高级操作的地基。环境稳定后,重点研习基础驱动开发章节,理解内核常用 API、设备创建流程以及 IRP(I/O 请求包)分发机制。切勿跳过快速过一遍代码,而应深入理解每一行代码在内核态下的执行逻辑。学完基础部分后,你需要能够独立编写简单的内核驱动程序,实现设备的创建、控制、派遣与卸载,并能通过自定义钩子点监控特定系统行为或保护数据结构不被篡改。

资料使用与实战方法

视频资料提供了宏观的逻辑演示和思路指引,但内核开发的核心能力必须通过代码复现和内化异常处理来建立。建议采用“故障驱动”的学习法:每看完一个模块,立即在隔离的虚拟机环境中重新敲写代码,并刻意制造内存越界、资源释放失败等异常场景,观察系统转储文件中的关键堆栈信息。这种练习方式能让你将抽象的内核安全机制转化为具体的调试经验。资料中的环境部署部分需反复打磨,确保本地开发链路畅通无阻;基础驱动部分则需结合 WinDbg 进行内核调试,将代码逻辑与实际的内存变化对应起来。切记,内核代码的稳定性高于一切,每一行代码的鲁棒性都直接关系系统存亡。在练习过程中,保持对内核机制的敬畏之心,注重代码的边界检查与资源管理,避免留下安全隐患。通过这种高强度的实操反馈,你才能真正掌握内核安全的核心逻辑,具备独立开发底层安全工具的能力。

课程目录

内核.png (153.

06 KB,  ) 2024-3-25 19:

08 上传 ├─1:驱动开发环境部署 │ 1.1.VS2019驱动开发环境.mp4
 │ 1.10再谈VC环境配置.mp4
 │ 1.2安装VC++6.0.mp4
 │ 1.3安装VS2003-VC++7.0.mp4
 │ 1.4安装VS2008-VC++9.0.mp4
 │ 1.5安装VC助手.mp4
 │ 1.6安装DDK.mp4
 │ 1.7VC6环境下编译驱动.mp4
 │ 1.8VS2003环境编译驱动.mp4
 │ 1.9VS2008环境编译驱动.mp4
 ├─2:基础驱动开发 │ 2.10驱动代码中C和C++代码区别.mp4
 │ 2.1HelloWorld简单的驱动.mp4
 │ 2.2驱动的卸载.mp4
 │ 2.3内核常用API.mp4
 │ 2.4驱动内核基础框架.mp4
 │ 2.5内核驱动创建设备.mp4
 │ 2.6基础驱动开发_Winobj查看设备对象.mp4
 │ 2.7EasySYS快速创建驱动框架.mp4
 │ 2.8NT式驱动的安装.mp4
 │ 2.9NT式驱动的卸载.mp4
 │ ├─3:内核开发基础 │ 3.10驱动下的异常处理.mp4
 │ 3.1键盘过滤框架(找到所有键盘设备).mp4
 │ 3.2在驱动中使用链表.mp4
 │ 3.3Lookaside结构.mp4
 │ 3.4运行时函数.mp4
 │ 3.5内存管理--(其他).mp4
 │ 3.6内核模式下的字符串操作.mp4
 │ 3.7内核模式下的文件操作.mp4
 │ 3.8驱动操作注册表--(创建).mp4
 │ 3.9驱动对注册表的其他操作.mp4
 │ ├─4:与内核交互 │ 4.10实战EXE和SYS通信-(其它模式).mp4
 │ 4.1派遣函数的简单处理.mp4
 │ 4.2应用程序打开驱动.mp4
 │ 4.3编写更通用的派遣函数.mp4
 │ 4.4跟踪IRP的利器IRPTrace.mp4
 │ 4.5缓冲区的操作与读写.mp4
 │ 4.6缓冲区设置模拟文件读写.mp4
 │ 4.7Sys与Exe文件的通讯A.mp4
 │ 4.8实战EXE和SYS通信(缓冲模式).mp4
 │ 4.9实战EXE和SYS通信(直接).mp4
 │ ├─5:内核同步 │ 5.1驱动程序的同步问题--(知识介绍).mp4
 │ 5.2提升IRQ与自旋锁.mp4
 │ 5.3用户模式的事件与信号灯.mp4
 │ 5.4用户模式的互斥体与线程等待.mp4
 │ 5.5内核下的事件对象与应用程序的交互.mp4
 │ 5.6内核下的互斥体.mp4
 │ 5.7IRP的同步与异步操作原理.mp4
 │ ├─6:ByPass基础 │ 6.10添加默认派遣例程.mp4
 │ 6.1R3对抗R0过保护.mp4
 │ 6.2R3对抗R0钩子部分.mp4
 │ 6.3R3对抗R0链接库部分.mp4
 │ 6.4R3对抗R0派遣部分.mp4
 │ 6.5驱动保护原理+实战.mp4
 │ 6.6为DDK_HelloWorld添加设备例程.mp4
 │ 6.7VM+windbg安装.mp4
 │ 6.8VM+Wlndbg调试驱动.mp4
 │ 6.9DDK_HelloWorld卸载例程细化.mp4
 │ ├─7:ByPass入门 │ 7.10过DXF保护的原理.mp4
 │ 7.1需要具备的理论知识.mp4
 │ 7.2读出SSDT表当前函数地址1.mp4
 │ 7.3读出SSDT表当前函数地址2.mp4
 │ 7.4JMP地址转换公式推导.mp4
 │ 7.5绕过驱动保护1.mp4
 │ 7.6绕过驱动保护2.mp4
 │ 7.7如何编程HOOK_SSDT.mp4
 │ 7.8再谈HOOK_SSDT.mp4
 │ 7.9DXF恢复inline_HOOK原理.mp4
 │ ├─8:ByPass循序渐进 │ 8.10绕过所有用户层HOOK.mp4
 │ 8.1编程实现过TesSafe保护(有待修改).mp4
 │ 8.2实现过TX_inline_hook.mp4
 │ 8.3如何获得Shadow_SSDT表(后面详细讲解).mp4
 │ 8.4写文件和读文件(选学).mp4
 │ 8.5应用层勾子IAT_HOOK.mp4
 │ 8.6PE结构实现_IAT_HOOK.mp4
 │ 8.7应用层勾子InLine_HOOK.mp4
 │ 8.8勾住Shadow_SSDT.mp4
 │ 8.9真正勾住Shadow_SSDT.mp4
 │ ├─9:ByPass深入浅出 │ 9.1IDT中断描述符表.mp4
 │ 9.2过DXF保护实例分析.mp4
 │ 9.3DXF驱动保护思路代码.mp4
 │ 9.4真正过TP让CE可以附扫描.mp4
 │ 9.5过龙之谷GPK游戏保护.mp4
 │ 9.6过梦幻西游NECHECK保护.mp4
 │ 9.7过DebugProt.mp4
 │ 9.8白名单与校验的对抗.mp4
 │ ├─10:ByPass过CRC │ 10.1Pass冒险岛CRC1.mp4
 │ 10.2Pass冒险岛CRC2.mp4
 │ 10.3Pass冒险岛CRC3.mp4
 │ ├─11:内核的安全防护入门 │ 11.10钩子艺术HookSSDT.mp4
 │ 11.3配置RootKit通讯端口.mp4
 │ 11.4操纵数据流文件.mp4
 │ 11.5读隐藏数据流文件.mp4
 │ 11.6RootKit使用流文件.mp4
 │ 11.7安装和卸载RootKit.mp4
 │ 11.8原子级交换挂钩原理.mp4
 │ 11.9原子级交换SSDT函数.mp4
 │ ├─12:内核的安全防护进阶 │ 12.10释放映射空间.mp4
 │ 12.1内核函数前缀的意义.mp4
 │ 12.2内核下文件名比较.mp4
 │ 12.3挂钩内核函数过滤映射DLL名称.mp4
 │ 12.4增加内核数据类型.mp4
 │ 12.5未公开函数的显示调用.mp4
 │ 12.6内核态DLL特征码匹配.mp4
 │ 12.7通过PE格式获得PE信息.mp4
 │ 12.8PE格式牵扯的结构定义.mp4
 │ 12.9MDL大缓存分片映射.mp4
 │ ├─13:内核的安全防护提升 │ 13.10修正Detour有效地址.mp4
 │ 13.1快速匹配特征码.mp4
 │ 13.2PE结构的使用.mp4
 │ 13.3导出表匹配函数名.mp4
 │ 13.4字符串匹配.mp4
 │ 13.5特征码定位挂钩地址.mp4
 │ 13.6注入信息初始化.mp4
 │ 13.7检测函数字节.mp4
 │ 13.8纪录被重写的指令.mp4
 │ 13.9构建Detour有效地址.mp4
 │ ├─14:内核的安全防护高级1 │ 14.10过滤IRP请求.mp4
 │ 14.1运行时地址修正并挂钩.mp4
 │ 14.2遍历IDT表信息.mp4
 │ 14.3IDT挂钩模板.mp4
 │ 14.4IDT挂钩模板地址修正.mp4
 │ 14.5HOOK所有IDT.mp4
 │ 14.6IRP钩子的概念.mp4
 │ 14.7全局IRPHOOK(上).mp4
 │ 14.8全局IRPHOOK(下).mp4
 │ 14.9HOOK请求报文IRP.mp4
 │ ├─15:内核的安全防护高级2 │ 15.1过滤IRP栈.mp4
 │ 15.2隐匿端口.mp4
 │ 15.3Sysenter简单Hook.mp4
 │ 15.4绕过rootkit检测工具的检测.mp4
 │ 15.5分层驱动键盘嗅探.mp4
 │ 15.6IRP分层直通传递.mp4
 │ 15.7键盘嗅探回调完成函数.mp4
 │ 15.8直接修改内核对象隐藏进程驱动部分.mp4
 │ ├─16:VT虚拟化基础入门(WIN7)-1 │ 16.10VT64虚拟化EPT的4级分页结构与缓存策略.mp4
 │ 16.1VT虚拟化技术的概念概述.mp4
 │ 16.2VT虚拟化原理与VS+WDK开发环境搭建.mp4
 │ 16.3VT64位虚拟化初始化编程C与ASM联合编译.mp4
 │ 16.4VT64位虚拟化检查CPU能力并侵染.mp4
 │ 16.5VT64位虚拟化浸染CPU.mp4
 │ 16.6VT64位虚拟化初始化VMXON与初始化VMCS.mp4
 │ 16.7VT64位虚拟化初始化VMCS.mp4
 │ 16.8宿主机区域寄存器状态.mp4
 │ 16.9Intel-64-32架构手册参考与解释.mp4
 │ ├─17:VT虚拟化基础入门(WIN7)-2 │ 17.10GDT与LDT特权级代码转移(门调用).mp4
 │ 17.1VT64虚拟化线性地址到物理地址的完整转换.mp4
 │ 17.2HandleVmExit回调函数退出原因.mp4
 │ 17.3Bochs源码编译启动VT支持.mp4
 │ 17.4VT64虚拟化关键词介绍与运行VT内核驱动.mp4
 │ 17.5HandleException接管Int3断点.mp4
 │ 17.6StartVirtualTechnology.mp4
 │ 17.7利用VS2013实现ASM文件与C文件混合编译.mp4
 │ 17.8设定SysEnter_Eip回调函数.mp4
 │ 17.9DR7与DR6寄存器的拦截与修复.mp4
 │ ├─18:VT虚拟化基础入门(WIN7)-3 │ 18.10实现无Hook修改进程EIP绕过所有CRC检测.mp4
 │ 18.1VT32虚拟化IDT重定向拦截INT1中断.mp4
 │ 18.2IDT拦截修改调试信息原理.mp4
 │ 18.3MemorySpecifyCache函数.mp4
 │ 18.4BulePill中Bug的排除.mp4
 │ 18.5VT虚拟化基于硬件虚拟化技术的内存保护研究.mp4
 │ 18.6VT虚拟化反反调试与IDT结构详解.mp4
 │ 18.7关闭PAE用Windbg修改物理内存.mp4
 │ 18.8开启PAE用Windbg修改物理内存.mp4
 │ 18.9HookPage实现无限硬件断点.mp4
 │ ├─19:VT虚拟化基础入门(WIN7)-4 │ 19.1过某游戏保护相关信息与遍历系统驱动模块.mp4
 │ 19.2某游戏保护3个NotifyRoutine.mp4
 │ 19.3游戏保护ObCallBack的利用与遍历.mp4
 │ 19.4ValidAccessMask利用与对抗.mp4
 │ 19.5调试器基础框架(过64位游戏保护).mp4
 │ 19.6HiJackSSDT之前的准备工作.mp4
 │ 19.7VT监控劫持MSR所有系统底层调用.mp4
 │ │ ├─20:VT内核虚拟化基础入门(WIN10)-1 │ 20.10初始化Guest状态填充VMCS区域.mp4
 │ 20.1内核VT虚拟化技术简介.mp4
 │ 20.2Win10+VS2017+WDK10的安装.mp4
 │ 20.3Win10内核双机调试环境搭建.mp4
 │ 20.4内核程序开发基础入门.mp4
 │ 20.5开启VMware虚拟化与VT基本原理.mp4
 │ 20.7检测CPU对VT虚拟化的支持情况.mp4
 │ 20.8初始化VMX与VMCS的非分页内存.mp4
 │ 20.9内存对齐与VMCS第1阶段的初始化.mp4
 │ ├─21:VT内核虚拟化基础入门(WIN10)-2 │ 21.10VMExitHandler原理与实现.mp4
 │ 21.1初始化Host状态与EPT的概念.mp4
 │ 21.2通过Windbg学习EPT内存扩展表.mp4
 │ 21.3构建EPT内存页表.mp4
 │ 21.4初始化EPT.mp4
 │ 21.5填充EPT的PML4_PDPT_PDT.mp4
 │ 21.6安装VMX与VMCS.mp4
 │ 21.7调整Msr配置虚拟机运行控制域.mp4
 │ 21.8调整VMExit与Entry控制域.mp4
 │ 21.9填充Guest与Host寄存器状态.mp4
 │ ├─22:VT内核虚拟化基础入门(WIN10)-3 │ 22.1VMExit必须处理的退出条件.mp4
 │ 22.2虚拟化测试案例与退出虚拟化.mp4
 │ ├─23:VT虚拟化框架KSM(选学) │ 23.1虚拟化框架移植.mp4
 │ 23.2VT框架的初始化.mp4
 │ 23.3电源与CPU热拔插回调初始化.mp4
 │ 23.4移植侵染CPU基础框架.mp4
 │ 23.5EPT的初始化.mp4
 │ ├─24:EPT无痕Hook(WIN7-WIN10)-1 │ 24.10无痕Hook融合MTF函数.mp4
 │ 24.1虚拟化框架的移植与改造.mp4
 │ 24.2进程无痕Hook功能的实现.mp4
 │ 24.3进程无痕Hook3环流程详解.mp4
 │ 24.4进程无痕Hook内核层流程讲解.mp4
 │ 24.5启动无痕Hook伪造页面.mp4
 │ 24.6内核无痕Hook框架搭建.mp4
 │ 24.7内核无痕Hook的初始化.mp4
 │ 24.8无痕Hook页面结构体合并.mp4
 │ 24.9无痕Hook处理器共享数据结构体合并.mp4
 │ ├─25:EPT无痕Hook(WIN7-WIN10)-2 │ 25.1无痕Hook与切换CR3.avi │ 25.2无痕Hook挂钩完成.mp4
 │ 25.3无痕Hook+内存隐藏演示.mp4
 │ ├─26:调试器通道重建(WIN7-WIN10)-1 │ 26.1全系统重建调试器通道流程.mp4
 │ 26.2重建调试通道代码的编译.mp4
 │ 26.3调试通道重建详解.mp4
 │ 26.4X64Debug调试器插件开发.mp4
 │ 26.6处理DbgBreakPoint.mp4
 │ 26.7自建shellcode执行第一次断点.mp4
 │ 26.8动态修正shellcode执行int3.mp4
 │ 26.9C++提取shellcode.mp4
 │ ├─27:调试器通道重建(WIN7-WIN10)-2 │ 27.1Hook设置断点与删除断点函数.mp4
 │ │ ├─peoject │ DdiMon-master.zip
 │ FU_Hypervisor-master.zip
 │ ksm-master.zip
 │ SimpleSvmHook-master.zip
 │ SysCall驱动框架.7z │ └─rnm DebugView.zip
 IDA.zip
 VA.zip
 VirtualBox.zip
 VS2017.zip
 VS插件.zip
 WDK.zip
 x64Dbg.zip
 代码融合.zip
 参考书籍.zip
 参考源码.zip
 双机调试.zip
 模板视频.zip
 系统激活工具.zip
 驱动加载工具.zip