-
-
[分享]Windows内核框架介绍
-
发表于: 2026-3-8 14:30 657
-
前言
Windows 内核开发中,"Kernel Framework(内核框架)" 通常指: 微软为驱动开发提供的一套接口模型或子系统, 这些框架封装了底层复杂的 WDM(Windows Driver Model) 机制, 使驱动更容易编写, 并针对不同类型的设备或功能提供专用接口.
在内核的学习中不可避免会接触到, 若能系统学习每一个框架的搭建于原理将对开发内核起到很大帮助, 本文将按常用顺序顺序依次介绍每个框架:
一、文件系统相关框架
1.Minifilter (常用!!!)
用于文件系统过滤
典型用途:
- 文件隐藏: 可以隐藏文件或目录, 例如: 用户执行->Minifilter拦截->结果:用户看不到该文件(类似 Rootkit 技术)
- 文件重定向: 可以把一个文件访问 重定向到另一个文件
- 文件完整性保护: 可以保护某些文件
- 文件内容监控: 可以监控读取的数据
- U盘控制: 禁止复制到U盘
等等...
特点:
- 统一文件过滤接口
- 替代旧的 Legacy FS Filter
- 通过 IRP / Fast I/O / Callback 处理
经典监控函数:
- CreateFile
- ReadFile
- WriteFile
- DeleteFile
- SetInformation
Minifilter 可以在 文件读写前后拦截数据, 因此可以实现例如:
- 文件读取时自动解密
- 文件写入时自动加密
常应用于透明加密系统:
1 2 3 4 5 6 7 | 用户读取文件 ↓Minifilter ↓解密数据 ↓用户获得明文 |
2. Legacy File System Filter
老式文件过滤驱动
特点:
- 直接 Hook 文件系统 IRP
- 没有统一框架
- 容易蓝屏
现在基本被 Minifilter 取代
二、网络相关框架
1. WFP (Windows Filtering Platform) (常用!!!)(上上篇博客已介绍部分)
网络过滤框架
可拦截: 应用层 / 传输层 / 网络层 / MAC层
典型用途: 防火墙 / 网络监控 / 网络拦截
核心函数有:
- FwpmEngineOpen
- FwpmCalloutAdd
- FwpsCalloutRegister
2. NDIS (Network Driver Interface Specification)
网络驱动框架
常用于: 网卡驱动 / 网络过滤 / 网络虚拟设备
常有类型有:
- Miniport: 网卡驱动
- Protocol: 网络协议
- Filter: 网络过滤
核心函数有:
- NdisFRegisterFilterDriver
- FilterSendNetBufferLists
- FilterReceiveNetBufferLists
三、设备驱动框架
1. WDF (Windows Driver Framework) (常用!!!)
微软新的驱动框架, 用于创建驱动
分为:
- KMDF: 内核驱动框架 (Kernel Mode Driver Framework)
- UMDF: 用户驱动框架 (User Mode Driver Framework)
四、进程 / 对象监控框架
1. OB Callback (Object Manager Callback) (常用!!!)
对象访问过滤框架
可以拦截: 进程句柄 / 线程句柄
常用于: 反作弊 / 防止打开进程 / 防调试
可监控对象:
- PsProcessType
- PsThreadType
2. Process / Thread Notify
进程线程创建通知
常用于:
- 进程监控
- DLL加载监控
常用接口:
- PsSetCreateProcessNotifyRoutine
- PsSetCreateThreadNotifyRoutine
- PsSetLoadImageNotifyRoutine
五、注册表框架
1. Registry Callback
注册表操作监控
常用于: 杀毒 / 安全软件 / 注册表保护
可拦截:
- RegCreateKey
- RegSetValue
- RegDeleteKey
六、文件系统通知框架
1. File System Notify
监控文件系统挂载
常用于: 检测 NTFS / FAT 加载
七、内存管理相关
1. Section / Image Notify
监控模块加载
常用于: DLL加载 / EXE加载 / 驱动加载
八、图形 / 输入框架
1. Win32k Filter / Input Filter
监控键盘鼠标过滤
九、存储驱动框架
1. Storage Filter Driver
磁盘过滤驱动
常用于: BitLocker / 磁盘加密
十、虚拟化框架
1. Hypervisor / Hyper-V Interface
虚拟化扩展框架
常用于: 虚拟机 / 安全隔离 / 反作弊
十一、内核调试 / ETW
1. ETW (Event Tracing for Windows)
系统事件追踪框架
常用于: 系统监控 / 性能分析 / 安全检测
总结
微软提供的框架也是十分全面, 许多框架笔者还尚未涉及全面, 后续也会持续完善更新笔记, 并且笔者后续也会按照此帖对常用内核框架进行学习
以上资料为笔者为系统学习内核收集而来, 如有错漏请留言, 欢迎讨论
赞赏
- [分享]混淆、加密、反沙箱概念介绍 595
- [分享]手动映射sys到内核 681
- [分享]Minifilter简易文件访问监控 569
- [分享]内核逆向开发阶段评测方法 598
- [分享]游戏网络封包解析可行性分析 774