首页
论坛
课程
招聘
R0中调用ZwQueryVirtrualMemory失败,无法正常用,求正确写法
2021-2-17 15:46 1937

R0中调用ZwQueryVirtrualMemory失败,无法正常用,求正确写法

2021-2-17 15:46
1937

 大佬们,想问一下,在R0中调用ZwQueryVirtrualMemory一直有问题,也找不到更好的办法查虚拟内存地址的可读可写属性,有会的老哥帮帮忙吧!这个太离奇了!小小奉上,以下是代码,KeStackAttach我省略了没加进去。



BOOLEAN KeGeVirtualMemoryInformation(IN HANDLE hProcessId,IN PVOID vAddress,IN ULONG pType,OUT ULONG Protect)
{
    HANDLE Token;
    PEPROCESS pEProcess = NULL;
    NTSTATUS nStatus = STATUS_SUCCESS;
    MEMORY_BASIC_INFORMATION memoryinfor;
    PSIZE_T oo;
 
    nStatus = PsLookupProcessByProcessId(hProcessId, pEProcess);
    if (!NT_SUCCESS(nStatus)) return nStatus;
    
    __try 
    {
        nStatus=ZwQueryVirtualMemory(hProcessId,vAddress, MemoryBasicInformation,&memoryinfor,sizeof(MEMORY_INFORMATION_CLASS), oo);
 
        if (NT_SUCCESS(nStatus)) 
        {
            Protect = memoryinfor.Protect;
        }
 
      }
    __except (EXCEPTION_EXECUTE_HANDLER)
    {
       return nStatus;
    }
 
    return nStatus;
}



[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班开始招生!!

最后于 2021-2-17 16:08 被月生沧海编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
KomiMoe_ 活跃值 2021-2-17 16:35
2
0
搜特征找call
雪    币: 229
活跃值: 活跃值 (920)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 活跃值 2021-2-17 17:44
3
0
NTSTATUS ZwQueryVirtualMemory(
  _In_      HANDLE                   ProcessHandle,
  _In_opt_  PVOID                    BaseAddress,
  _In_      MEMORY_INFORMATION_CLASS MemoryInformationClass,
  _Out_     PVOID                    MemoryInformation,
  _In_      SIZE_T                   MemoryInformationLength,
  _Out_opt_ PSIZE_T                  ReturnLength
);


参数一  是 hProcess    通过当前(PsGetCurrentProcess) 或者由 ZwOpenProcess 打开获得

您直接填一个 PID 是啥意思嘛.????

雪    币: 107
活跃值: 活跃值 (379)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ffashi 活跃值 2021-2-17 22:57
4
0
楼上的是正解,需要使用PID获取Process
雪    币: 30
活跃值: 活跃值 (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
月生沧海 活跃值 2021-2-20 14:59
5
0
ffashi 楼上的是正解,需要使用PID获取Process
获取了HANDLE 还是不行啊
雪    币: 107
活跃值: 活跃值 (379)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ffashi 活跃值 2021-3-2 22:26
6
0
查看错误吧。第一个参数数目标程序的句柄。如果是win10,不要使用-1 这一类的参数读自身,没用。要正常调用OpenProcess 传入pid 
雪    币: 9
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_qhwyuxta 活跃值 2021-3-4 17:20
7
0
搜特征找call
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 活跃值 4天前
8
0
哥哥你这里错了, PSIZE_T oo;  
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
麦瑞鸭 活跃值 4天前
9
0
 SIZE_T oo=0;
下面用 &oo  就可以了

PSIZE_T oo;  传一个没有地址的指针的话 引用应该会蓝屏
游客
登录 | 注册 方可回帖
返回