首页
社区
课程
招聘
win7 64 位 能HOOK NtQueryVirtualMemory 吗?
发表于: 2017-8-30 12:17 6929

win7 64 位 能HOOK NtQueryVirtualMemory 吗?

2017-8-30 12:17
6929
SSDT hook NtQueryVirtualMemory 不蓝屏。

能成功但是系统桌面右键没有作用了。

请问是不是64位下 函数原型错了。

NTSTATUS NTAPI NtQueryVirtualMemory(  

          IN HANDLE                  ProcessHandle,                 //目标进程句柄  

          IN PVOID                  BaseAddress,               //目标内存地址  

          IN MEMORY_INFORMATION_CLASS  MemoryInformationClass,       //查询内存信息的类别  

          OUT PVOID                  Buffer,                      //用于存储获取到的内存信息的结构地址  

          IN ULONG                  Length,                      //Buffer的最大长度  

          OUT PULONG                  ResultLength OPTIONAL);        //存储该函数处理返回的信息的长度的ULONG的地址   



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2

NTSYSCALLAPI

NTSTATUS

NTAPI

NtQueryVirtualMemory(

    IN HANDLE ProcessHandle,

    IN PVOID Address,

    IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,

    OUT PVOID VirtualMemoryInformation,

    IN SIZE_T Length,

    OUT PSIZE_T ResultLength

);


2017-8-30 12:24
0
雪    币: 158
活跃值: (349)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
NTSTATUS    __stdcall  MyHOOK_NtQueryVirtualMemory(
       IN  HANDLE                                    ProcessHandle,                                  //目标进程句柄   
       IN  PVOID                                BaseAddress,                              //目标内存地址   
       IN  MEMORY_INFORMATION_CLASS    MemoryInformationClass,              //查询内存信息的类别   
       OUT  PVOID                                    Buffer,                                            //用于存储获取到的内存信息的结构地址   
       IN  SIZE_T                                    Length,                                            //Buffer的最大长度   
       OUT  PSIZE_T                                    ResultLength  OPTIONAL)                //存储该函数处理返回的信息的长度的ULONG的地址     

{
       NTSTATUS  status  =  STATUS_SUCCESS;
       PEPROCESS  Process;
 
 
       status  =  OdNtQueryVirtualMemory(ProcessHandle,  BaseAddress,  MemoryInformationClass,  Buffer,  Length,  ResultLength);
        
       return  status;
}

就这样  桌面右键也不正常显示。  不蓝屏。
2017-8-30 12:44
0
雪    币: 6553
活跃值: (4351)
能力值: ( LV10,RANK:163 )
在线值:
发帖
回帖
粉丝
4
如果是要HOOK  这玩意隐藏模块内存,还不如直接摸模块的MMVAD.
2017-8-30 13:33
0
雪    币: 158
活跃值: (349)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对付爆搜  特征怎么做好。清支个招、谢谢
2017-8-30 15:06
0
雪    币: 104
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
解决没有呢
2017-9-26 19:38
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
        MEMORY_BASIC_INFORMATION  Info  =  {  0  };
        SIZE_T  ReturnLength  =  0;

        Status  =  ZwQueryVirtualMemory(
                NtCurrentProcess(),
                Base,
                MemoryBasicInformation,
                &Info,
                sizeof(MEMORY_BASIC_INFORMATION),
                &ReturnLength);

        if  (NT_SUCCESS(Status))
        {
                ZwFreeVirtualMemory(
                        NtCurrentProcess(),
                        &Base,
                        &Info.RegionSize,
                        MEM_RELEASE);
        }
2017-10-1 22:32
0
游客
登录 | 注册 方可回帖
返回
//