心宇 发表于 2021-9-24 23:04:48

在win10 ZwQueryVirtualMemory 的查询内存权限问题

win10 x64 17763 及其以上版本
在内核中使用 ZwQueryVirtualMemory 查询PID为4(system)进程的内存是,返回错误代码 0xC0000022
STATUS_ACCESS_DENIED
{Access Denied} A process has requested access to an object but has not been granted those access rights

无权限操作,请教下这是什么原因?查询其他进程ID正常。另外看了下 PCHunter64 与WKE64 可以正常查看这个ID 4的进程内存。

Tesla.Angela 发表于 2021-9-29 07:36:02

看了一下WIN64AST的代码,我使用KeStackAttachProcess + ZwQueryVirtualMemory来查询进程内存。

虽然WIN64AST最后支持的版本是16299,但我认为这个方法在17763上依然可用。

心宇 发表于 2021-9-30 17:24:59

本帖最后由 心宇 于 2021-9-30 17:30 编辑

Tesla.Angela 发表于 2021-9-29 07:36
看了一下WIN64AST的代码,我使用KeStackAttachProcess + ZwQueryVirtualMemory来查询进程内存。

虽然WIN64 ...


首先感谢大佬能在百忙之中抽时间回答,我使用的正是这个方法,但在新版的win10中已经不行了。提示如上,所以想问下是什么原因导致的。

修正下我虚拟机的版本
win10(Microsoft Windows [版本 10.0.19042.1052])
win11(Microsoft Windows [版本 10.0.22454.1000])

另外也无法对这个进程(PID=4 system)的内存进行读写操作。

sabanhai 发表于 2021-11-30 10:44:52

学习
页: [1]
查看完整版本: 在win10 ZwQueryVirtualMemory 的查询内存权限问题