带有继承句柄的Duplicatehandle

时间:2014-01-27 17:16:17

标签: c++ winapi

我有以下流程:

  1. 流程A:
    • 创建一个usertoken。
    • 创建暂停的流程
    • 使用DuplicateHandle复制上面步骤中创建的usertoken,并将bInherithandle传递给true。
    • 恢复子流程
    • 将重复句柄发送到子进程
  2. 儿童程序B:
    • 接收父进程发送的句柄并将其存储为句柄(全局变量)。
    • !handle显示句柄,并且!lsaexts.dumptoken转储所有SID信息。因此句柄有效。
    • 使用bInheritHandle = true
    • 调用createprocess
  3. 子过程C :(由B产生)
    • 我没有看到句柄!handle
    • 如果我尝试!使用来自B的特定句柄值的句柄或!lsaexts.dumptoken我得到错误,表示其无效
  4. 我在这里做错了什么?

    根据MSDN文档,如果使用设置为true的binheritedhandles生成进程,则子进程应该能够使用父进程中的每个句柄,该句柄是在创建时将binheritedhandles设置为true而创建的。

0 个答案:

没有答案