内核模块基址方法及ZwQuerySystemInformation应用.pdfVIP

  • 2
  • 0
  • 约1.08万字
  • 约 10页
  • 2026-06-10 发布于北京
  • 举报

内核模块基址方法及ZwQuerySystemInformation应用.pdf

模块是在程序加载时态装载的,模块在装载后其存在于内存中同样有一个内存基址。当我们需要操作

这个模块时,通常第一步就是要得到该模块的内存基址。模块分为用户模块和内核模块,这里的用户模块

指的是应用层进程运行后加载的模块,内核模块指的是内核中特定模块地址。本篇文章将实现一个获取驱

动ntoskrnl.exe的址以及长度,此功能是驱动开发中尤其是安全软件开发中必不可少的一个功能。

关于该程序的解释,的解析是这样的ntoskrnl.exe是Windows操作系统的一个重要内核程序,里

面了大量的二进制内核代码,用于调度系统时使用,也是操作系统启动后第一个被加载的程序,通常

该进程在任务管理器中显示为System。

使用ARK工具也可以看出其代表的是第一个驱动模块。

那么如何使用代码得到如上图中所展示的址以及大小呢,实现此功能我们需要调用

ZwQuerySystemInformation这个API函数,这与上一篇文章《驱动开发:判断自身是否加载成功》所

使用的NtQuerySystemInformation只是开头部分不同,但其本质上是不同的,如下是一些参考资料;

从内核模式调用Nt和Zw系列API,其最终都会连接到nooskrnl.lib导出库:

Nt系列API

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档