【发布时间】:2014-12-30 23:55:51
【问题描述】:
我在 MSDN 上阅读了有关 UAC 实施的信息: http://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx
偶然发现了这条有趣的线路:
虽然 AIS 在技术上是提升进程的父进程,但 AIS 使用 CreateProcessAsUser API 中的新支持来设置 进程的父进程 ID 到最初的进程的 ID 启动它(见图 13)。
这里是 CreateProcessAsUser 的 MSDN 页面:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682429(v=vs.85).aspx
BOOL WINAPI CreateProcessAsUser(
_In_opt_ HANDLE hToken,
_In_opt_ LPCTSTR lpApplicationName,
_Inout_opt_ LPTSTR lpCommandLine,
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ BOOL bInheritHandles,
_In_ DWORD dwCreationFlags,
_In_opt_ LPVOID lpEnvironment,
_In_opt_ LPCTSTR lpCurrentDirectory,
_In_ LPSTARTUPINFO lpStartupInfo,
_Out_ LPPROCESS_INFORMATION lpProcessInformation
);
exact 说我们可以使用 API 中的选项创建一个进程并设置不同的父进程。我不知道该怎么做?我需要挖掘令牌吗?
【问题讨论】:
标签: c++ c winapi uac createprocessasuser