gpt4 book ai didi

c++ - 模拟和 CreateProcess

转载 作者:可可西里 更新时间:2023-11-01 09:31:10 25 4
gpt4 key购买 nike

文档指出 CreateProcess 创建一个在调用进程的安全上下文下运行的进程,而不是当前模拟 token 的安全上下文。这是否意味着无论是否模拟,新流程的权限都相同?

我有以下代码因 ACCESS_DENIED 错误而失败:

  1. 进程 A 在管理员下运行;
  2. 进程 A 模拟普通用户“测试”;
  3. 进程A通过调用CreateProcess启动一个新的进程B;
  4. 进程 B 调用 OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, ..);

第 4 步失败,出现 ACCESS_DENIED 错误 (5)。我检查了进程 B 是否作为进程 A 在 Administrator 下运行。为什么它在与进程 A 相同的用户上下文下运行时会失败?

最佳答案

正如评论者所说,您需要 CreateProcessAsUser。您可能会发现 MSDN 上的以下示例代码很有帮助,几年前我成功地使用了它:http://support.microsoft.com/kb/165194

关于c++ - 模拟和 CreateProcess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com