Windows驱动开发基础教程:从入门到精通

版权申诉
5星 · 超过95%的资源 4 下载量 120 浏览量 更新于2024-08-22 1 收藏 75B TXT 举报
"Windows驱动开发基础视频教程" 本视频教程针对初学者设计,旨在帮助学习者深入理解Windows操作系统原理,提升程序开发水平,并为驱动开发和内核安全学习奠定基础。通过学习,学员将能够理解Windows内核的工作机制,扩展开发思维,并具备开发高效能软件的能力。 教程共分为12个章节,涵盖了驱动开发的各个方面: 1. **Windows驱动基础**:首先介绍驱动的基本概念,包括认识驱动的作用和类型,以及在虚拟机中安装Windows操作系统以进行安全的实验环境搭建。 2. **驱动编译环境配置**:详细讲解如何安装和配置驱动开发环境,包括安装必要的工具和软件,以及实战编写驱动程序加载器。 3. **驱动程序的基本结构**:复习C语言中的指针和数据结构,然后深入探讨Windows驱动程序的结构,包括如何创建设备对象。 4. **Windows内存管理**:讲解内存管理操作,如使用链表和快速查找表,并介绍驱动中如何应用C++的内存管理操作new和delete。 5. **应用程序与驱动程序通信**:涵盖IRP(I/O请求包)与派遣函数的使用,缓冲区读写操作,模拟文件,以及多种读写操作方法,如直接方式和IO设备控制操作。 6. **Windows内核函数**:讲解内核模式下的字符串、文件和注册表操作,这对于理解和操作内核层面的数据至关重要。 7. **驱动程序的同步处理**:介绍内核和用户模式下的同步异步操作,包括事件、线程信号量、互斥体、系统线程创建等同步对象,以及跨模式同步。 8. **IRP的同步与异步**:深入IRP的同步处理,包括应用程序对文件的操作,IRP的异步完成,IRP的取消和StartIo函数的自定义。 9. **定时器**:讲解IO定时器和DPC定时器的使用,以及内核模式下的等待操作和IRP超时处理。 10. **驱动程序调用驱动程序**:演示如何通过设备句柄和设备指针调用驱动,以及自定义IRP和ObReferenceObject的使用。 11. **分层过滤驱动**:讲解如何枚举设备栈上的设备对象,编写过滤驱动程序,以及IRP完成函数的实现。 12. **驱动程序开发高级技能**:涵盖驱动程序的兼容性问题,驱动调试技术,如使用Windbg和VMware,驱动签名证书的原理及制作,以及使用VirtualKD作为驱动调试工具。此外,还介绍了汇编语言在驱动开发中的应用,包括32位和64位驱动程序的开发。 视频教程的链接和提取码为:链接:https://pan.baidu.com/s/1di-S8C5QqYSeAEonkyZvUA,提取码:79hk。通过这个教程,学员将逐步掌握Windows驱动开发的全面知识,为进一步深入研究内核级编程打开大门。
2018-05-07 上传
0.基础的基础 |-学习WIN64驱动开发的硬件准备 |-配置驱动开发环境 ------------------------------ 1.驱动级HelloWorld |-配置驱动测试环境 |-编译和加载内核HelloWorld ------------------------------ 2.内核编程基础 |-WIN64内核编程的基本规则 |-驱动程序与应用程序通信 |-内核里使用内存 |-内核里操作字符串 |-内核里操作文件 |-内核里操作注册表 |-内核里操作进线程 |-驱动里的其它常用代码 ------------------------------ 3.内核HOOK与UNHOOK |-系统调用、WOW64与兼容模式 |-编程实现突破WIN7的PatchGuard |-系统服务描述表结构详解 |-SSDT HOOK和UNHOOK |-SHADOW SSDT HOOK和UNHOOK |-INLINE HOOK和UNHOOK ------------------------------ 4.无HOOK监控技术 |-无HOOK监控进线程启动和退出 |-无HOOK监控模块加载 |-无HOOK监控注册表操作 |-无HOOK监控文件操作 |-无HOOK监控进线程句柄操作 |-使用对象回调监视文件访问 |-无HOOK监控网络访问 |-无HOOK监视修改时间 ------------------------------ 5.零散内容 |-驱动里实现内嵌汇编 |-DKOM隐藏进程+保护进程 |-枚举和隐藏内核模块 |-强制结束进程 |-强制读写进程内存 |-枚举消息钩子 |-强制解锁文件 |-初步探索PE32+格式文件 ------------------------------ 6.用户态HOOK与UNHOOK |-RING3注射DLL到系统进程 |-RING3的INLINE HOOK和UNHOOK |-RING3的EAT HOOK和IAT HOOK ------------------------------ 7.反回调 |-枚举与删除创建进线程回调 |-枚举与删除加载映像回调 |-枚举与删除注册表回调 |-枚举与对抗MiniFilter |-枚举与删除对象回调