该文档指出CreateProcess创建一个在调用进程的安全上下文中运行的进程,而不是当前模拟令牌的安全上下文。这是否意味着无论是否模拟,新进程的权限都将相同?
我有以下代码,它会因为ACCESS_DENIED错误而失败: 1. 进程A在管理员下运行; 2. 进程A冒充普通用户“test”; 3. 进程A通过调用CreateProcess启动了一个新进程B; 4. 进程B调用OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, ..); 第4步失败并显示ACCESS_DENIED错误(5)。 我检查了进程B正在像进程A一样以管理员身份运行。为什么在运行在与进程A相同的用户上下文中时会失败?
我有以下代码,它会因为ACCESS_DENIED错误而失败: 1. 进程A在管理员下运行; 2. 进程A冒充普通用户“test”; 3. 进程A通过调用CreateProcess启动了一个新进程B; 4. 进程B调用OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, ..); 第4步失败并显示ACCESS_DENIED错误(5)。 我检查了进程B正在像进程A一样以管理员身份运行。为什么在运行在与进程A相同的用户上下文中时会失败?