首页
社区
课程
招聘
[求助]请问复数个进程中有相同的类型和Handle值,使用ZwQueryInformationFile取出来的路径一样?
发表于: 2010-3-20 17:49 7165

[求助]请问复数个进程中有相同的类型和Handle值,使用ZwQueryInformationFile取出来的路径一样?

2010-3-20 17:49
7165
请问在复数个进程中有相同类型(都是File型的),
相同Handle值的时候,
为什么用ZwQueryInformationFile取出来的文件路径是一样的?

应该是每个进程的这个Handle是不同的路径的。。。

请问这种情况下如何取得准确的文件路径呢?谢谢~~~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
什么“复数个进程中”啊?看不懂。。。
2010-3-20 18:37
0
雪    币: 492
活跃值: (53)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
多谢教主关注,
是这个意思,

比如
进程1,有一个File类型的句柄0x0100
进程2也有一个File类型的句柄0x0100

这两个File是不同的文件,路径也应该不同,

而ZwQueryInformationFile参数里面没有区分进程,
传进去句柄值0x0100就会返回其中的一个路径,
如果光根据Handle感觉不行,
不知道如何正确的取得不同进程里面相同的句柄值的
文件的路径呢?
2010-3-20 18:58
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
拿到目标进程句柄 按套路查询就可以了  管它句柄是不是一样。。
每个进程上下文都不同哦   
2010-3-20 19:47
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
你说的ZwQueryInformationFile是指ring3的ntdll!ZwQueryInformationFile?
ring3的话,这个句柄自然只有是当前进程中的句柄才能返回正确的结果,其它进程中的句柄,你只能看,不能使用,即使你知道它里面有个文件句柄,值是0x100,这也没用,想用就DuplicateObject复制过来再操作~~
如果是ring0的话,句柄没有指定OBJ_KERNEL_HANDLE标志的话,情况是一样的~
如果有这个标志,那么这个句柄在哪个进程空间都可以使用,因为系统会根据这个标志来选用内核句柄表(即System进程的句柄表),所在在哪个进程空间都无所谓~

说到底,就是这个句柄指向的对象位于哪个句柄表中的问题,是当前进程,是其它进程,还是System进程~~
先把这个搞清楚吧
2010-3-20 19:52
0
雪    币: 492
活跃值: (53)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
多谢教主大牛,
原来在ring3要先OpenProcess再DuplicateHandle才能ZwQueryInformationFile。。。
真是让教主见笑了。。。
不过看来还是到ring0里面比较好啊,
openprocess太容易被hook了。。。
2010-3-20 20:31
0
游客
登录 | 注册 方可回帖
返回
//