能力值:
( LV9,RANK:610 )
|
-
-
2 楼
ZwQuerySystemInformatin查询 SystemHandleInfo找出所有者是System进程并且HandleType是File类型的句柄, DuplicateHandle到自己进程中然后 ZwQueryInformationFile查询它的 FileNameInformation,想要哪个自己取就OK了
|
能力值:
( LV9,RANK:610 )
|
-
-
3 楼
代码可参考LzOpenProcess,它搞的是进程你要的是文件,改吧改吧就可以用了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
非常感谢 achillis
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
又遇到问题, 我在调用NtQueryInformationFile的时候, 老报错:STATUS_OBJECT_TYPE_MISMATCH
下面是代码:
DuplicateHandle(hProcess,
(HANDLE)pHandleInfo->Information[i].Handle,
INVALID_HANDLE_VALUE,
&DupHandle,
0,
FALSE,
DUPLICATE_SAME_ACCESS);
Status = NtQueryInformationFile(DupHandle,
&IoBlock,
pFileNameInfo,
sizeof(FILE_NAME_INFORMATION),
FileNameInformation);
if(Status != STATUS_SUCCESS)
return NULL; 不知道哪里错了. 怎么会类型不匹配? 望achillis 解答一下[LEFT][/LEFT]:
代码怎么对不齐, 编辑的时候对齐的
|
能力值:
( LV9,RANK:610 )
|
-
-
6 楼
你要先判断句柄的类型是不是文件,是才能用ZwQueryInformationFile
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我加了判断, 但是有出现一个问题: 报STATUS_INVALID_DEVICE_REQUEST 这个错误. 这是什么原因?
是参数设置的问题吗? 还是其他的...
|
能力值:
( LV9,RANK:610 )
|
-
-
8 楼
查询不成功的直接跳过~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
直接跳过? 为什么, 是因为权限的问题,?
|
能力值:
( LV9,RANK:610 )
|
-
-
10 楼
原因可能是多方面的,总会出现查询不成功的情况,不必管它
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢啊, 问题解决了...
|
能力值:
( LV12,RANK:420 )
|
-
-
12 楼
查询最好开线程,超时~否则必将惨遭卡死
|
|
|