前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows内核开发-额外篇-杂乱知识

Windows内核开发-额外篇-杂乱知识

作者头像
冬夜先生
修改2021-10-20 10:34:29
3920
修改2021-10-20 10:34:29
举报
文章被收录于专栏:csicocsico

 这个博客没啥大用,就感觉对Windows内核开发的概念就记在这里了,应该会长期更新。

驱动类型:

驱动可以分为很多类型,常见的有NT,WDM,WDF驱动,其中NT是最简单的。

WDM是NT上引入的一套驱动模型,支持一些额外的东西。WDF是对WDM的封装和升级简化了驱动。驱动大同小异,NT驱动是驱动中的基础,默认是NT驱动。

WDK

Windows Driver Kit Wndows内核驱动开发的工具包,根据操作系统的版本不同而不同,高版本兼容低版本。

内核驱动的存在方式

内核驱动作为Windows的一种系统服务来存在在操作系统中。

当要一个驱动sys文件加载到内核中,首先需要把这个sys注册(创建)成一个Windows的服务,注册成功后,该服务的信息会写入下列注册表中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

内核驱动的运行方式:

首先,会先在注册表里面注册为系统服务,然后将sys内核驱动文件映射到内核地址空间中,作为一个内核的驱动模块(MODULE),然后对其驱动模块进行导入表初始化、修复重定位表等操作,最后调用DriverEntry入口函数,如果返回值是STATUS_SUCCESS系统认为驱动初始化成功,如果返回别的值就会认为初始化失败,就会执行清理工作,然后移除驱动模块。

(和一个PE文件变成进程来运行比较类似)

分页内存和非分页内存

分页的意思是可以用来被磁盘(或其他介质)置换。非分页的内存就是在物理内存上直接写死,所以非分页内存比较宝贵一般用于IRQL大于等于2的代码里面。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 驱动类型:
  • WDK
  • 内核驱动的存在方式
  • 内核驱动的运行方式:
  • 分页内存和非分页内存
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档