Win32:VirtualAllocEx使用CreateProcessAsUser创建的进程被拒绝访问

时间:2014-01-14 16:18:25

标签: windows winapi process access-denied

我有一个使用CreateProcessAsUser()创建的流程,并使用以下方法打开了一个新句柄:

HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);

此调用成功,我得到了该进程的句柄。当我尝试使用此句柄执行

VirtualAllocEx(hProcess, pbAddress, cbAlloc, MEM_RESERVE, PAGE_READWRITE)

虽然我正在使用的句柄有PROCESS_ALL_ACCESS,但ACCESS_DENIED(5)失败了 这也是因为我从调用CreateProcessAsUser回来的过程句柄失败了 当我使用普通CreateProcess()创建流程时,它可以正常工作。

什么可能导致这种行为?
我的流程已经SeDebugPrivilege,所以不是。

我要做的是使用Detours将dll注入新进程。使用普通的CreateProcess,弯路可以正常工作,但是使用CreateProcessAsUser我会失败。

0 个答案:

没有答案