2

在 Windows 中,内核驱动程序可以执行诸如固定内存以备份虚拟地址范围 ( MMProbeandLockPages) 之类的操作。但是我找不到一种方法来实际验证虚拟地址对特定进程是否有效。换句话说,内核驱动程序有没有办法检查给定的虚拟页面是否包含在给定进程的页表中?

4

1 回答 1

0

如果驱动程序未在进程上下文中运行,则必须先调用 KeStackAttachProcess。

然后,您可以在 try / except 块中执行 ProbeForRead 或 ProbForWrite。例如,请参阅 WinDDK 示例中 src\general\ioctl\wdm\sys\sioctl.c 中的 IOCTL_SIOCTL_METHOD_NEITHER 处理。

于 2012-04-25T21:26:44.067 回答