首页
社区
课程
招聘
[求助]为何用NtQueryInformationProcess得不到其他进程的信息
发表于: 2008-10-13 10:13 5656

[求助]为何用NtQueryInformationProcess得不到其他进程的信息

2008-10-13 10:13
5656
首先我提升了权限:
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);
LookupPrivilegeValue( NULL,SE_DEBUG_NAME,&tkp.Privileges[0].Luid );
tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
BOOL bRet=AdjustTokenPrivileges( hToken,FALSE,&tkp,sizeof tkp,NULL,NULL );

然后在已知Pid的情况下打开进程句柄:
hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,
    FALSE,
    dwProcessId);

最后调用  status=NtQueryInformationProcess(hProcess,
    ProcessBasicInformation,
    (PVOID)&pbi,
    sizeof(PROCESS_BASIC_INFORMATION),
    NULL
    );
结果pbi里面的PEB显式不正确,pbi其他成员均正确 !!

然而当我把hProcess改为GerCurrentProcess()的时候,能正确获取本进程的pbi和PEB.

请高手指教,谢谢!


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
  • 1.JPG (57.99kb,145次下载)
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 6419
活跃值: (612)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
自己解决
ReadProcessMemory(...)
2008-10-13 16:22
0
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个应可以,只是360的内存Q不到,不知是用什么技术保护
2008-10-15 12:11
0
雪    币: 6419
活跃值: (612)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
对,360的打不开.....我今天才发现
2008-10-17 22:08
0
游客
登录 | 注册 方可回帖
返回
//