首页
社区
课程
招聘
[求助]请问大神们ZwOpenDirectoryObject 函数打开的目录对象是不是根目录对象呢,看MSDN上说的是 opens an existing directory object.
发表于: 2018-3-21 11:51 3708

[求助]请问大神们ZwOpenDirectoryObject 函数打开的目录对象是不是根目录对象呢,看MSDN上说的是 opens an existing directory object.

2018-3-21 11:51
3708
请问大神们ZwOpenDirectoryObject 函数打开的目录对象是不是根目录对象呢,看MSDN上说的是 opens an existing directory object.,去并没有指明是根目录对象,如果是一个中间节点的目录对象的话,通过 ZwOpenDirectoryObject得到的目录对象句柄,来遍历驱动对象,岂不是遍历不完全?

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 5039
活跃值: (2626)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
2
       NTSTATUS  Status;
       OBJECT_ATTRIBUTES  oa;  
       UNICODE_STRING  uniDirectory;  
       HANDLE  hDirectory;
       PVOID    DirectoryObject  =  NULL;
       WCHAR    wzDirectory[]  =  {L'\\',  L'\0'};

       RtlInitUnicodeString(&uniDirectory,  wzDirectory);
       InitializeObjectAttributes(&oa,  &uniDirectory,  OBJ_CASE_INSENSITIVE  |  OBJ_KERNEL_HANDLE,  NULL,  NULL);

       Status  =  ZwOpenDirectoryObject(&hDirectory,  0,  &oa);
       if  (NT_SUCCESS(Status)  )
       {
               Status  =  ObReferenceObjectByHandle(hDirectory,  0x10000000,  0,  0,  &DirectoryObject,  0);
               if  (  NT_SUCCESS(Status)  )
               {
                       DirectoryObjectType  =  KeGetObjectType(DirectoryObject);
                       ObfDereferenceObject(DirectoryObject);
               }

               Status  =  ZwClose(hDirectory);
       }

最后于 2018-3-23 11:18 被FaEry编辑 ,原因:
2018-3-23 11:18
0
游客
登录 | 注册 方可回帖
返回
//