阅读:3068回复:2
关于ZwQueryObject的问题
在Ring3下
NTSTATUS status; OBJECT_NAME_INFORMATION NameQuery; //844是Explorer的ID HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,844); if(hProcess==NULL) { printf(\"Open Process Failed!\\n\"); } status=ZwQueryObject(hProcess,ObjectNameInformation,&NameQuery,sizeof(NameQuery),&dwReturn); if( !NT_SUCCESS( status )) { printf(\"ZwQueryObject wrong\\n\"); CloseNTDLL(); getchar(); return -1; } printf(\"HANDLE:%08X [%ws]\\n\",hProcess,NameQuery.Name.Buffer); 结果没有什么输出,怎么回事,我用ZwQueyObject查询其它句柄都可以 就是这个进程句柄不行. |
|
|
沙发#
发布于:2005-05-02 14:59
在Ring3下 结果没有什么输出 ? 说明一切ok了 |
|
|
板凳#
发布于:2005-05-02 15:52
汗~~~~大哥,但是我是想获取进程名
现在只有用ZwQueryInformationProcess获得ID,然后再用ToolHelp 列举并比较得到进程名,太麻烦了. 用ZwQueryObject查询hKey,hFile都能获得相应的文件名,怎么进程对象不行呢?期待高手中. |
|
|