Kmd教程1 For FASM

Kmd教程介绍了如何使用FASM在Windows NT系统上开发Kernel Mode Driver (KMD)。内容涉及KMD的基础知识,包括地址空间划分、驱动程序分类,以及内核模式驱动在用户模式任务中的作用。主要讨论了内核模式驱动的结构、Windows NT设备驱动的类型,如VDD、文件系统驱动和WDM驱动。驱动程序作为PE格式的内核模式模块,通过I/O管理器与用户模式交互。
摘要由CSDN通过智能技术生成

 

 KmdKit的全称是Kernel Mode Driver development Kit for assembly language programmers,即内核模式驱动程序汇编开发包。

 

1.Kernel Mode驱动程序基础

    本教程讲述了如何在Windows NT为基础的操作系统上用Win32汇编开发KMD,包括NT4.0、2000、XP和2003等操作系统。开发Windows 95/98/ME使用的VxD驱动程序方面的知识并不在本教程讲述的范围内,另外,毫无疑问本教程并不那么完美,可能还包含了诸多未发现的错误,如果您发现了问题,请告知作者,毕竟作者的母语并不是英语,把它翻译成英文已经够难为我了(注:原作者是俄国人也),也感谢masquer和Volodya的校对工作。

 

    注意本文作者是将MASM翻译成FASM,Thanks for 罗云彬

 

1.1 KMD结构概述

 

     根据地址空间、代码权限和职责的不同,Windows NT内部划分为两个截然不同的部分。

 


   
地址空间的享用方式也非常容易理解,整个32位系统的4GB内容被划分为两个相等的部分,用户模式(user-mode)的进程使用的地址空间被映射到低位的2GB上(地址范围00000000 - 7FFFFFFFh),而高位的2GB(地址范围80000000h - 0FFFFFFFFh)则供操作系统的组成部分来使用,如设备驱动程序、系统内存池、系统使用的数据结构等,在这部分中,内存共享的权限和职责等方面就要复杂一点了。

 下面就是用户模式进程的一些简单分类:


◎ 系统支持进程--如Logon进程(位于/%SystemRoot%/System32/Winlogon.exe)
◎ 服务进程--如Spooler进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值