能力值:
( LV3,RANK:30 )
|
-
-
2 楼
模拟会话
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
大神啊, 5年前 问了一个类似的问题。 现在还没解决,真是厉害。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
养乐多A
模拟会话
模拟用户会话还是在uac下面的
|
能力值:
( LV9,RANK:610 )
|
-
-
5 楼
// 这个函数需要在system权限下运行, 例如在服务里。 void main() { HANDLE hToken = NULL; HANDLE hTokenDup = NULL; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken)) { return; }
DWORD dwSessionId = WTSGetActiveConsoleSessionId(); if (!DuplicateTokenEx(hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup)) { CloseHandle(hToken); return; } if (!SetTokenInformation(hTokenDup, TokenSessionId, &dwSessionId, sizeof(DWORD))) { CloseHandle(hToken); CloseHandle(hTokenDup); return; }
char szCommon[MAX_PATH] = { "C:\\Windows\\System32\\cmd.exe" }; PROCESS_INFORMATION pi = { 0 }; STARTUPINFO si = { sizeof(si) }; si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = TRUE;//窗口显示为0不显示 if (!CreateProcessAsUser( hTokenDup, (char*)szCommon, //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改 NULL, NULL, NULL, FALSE, NULL, 0, NULL, &si, &pi)) {
} }
|
能力值:
( LV1,RANK:0 )
|
-
-
6 楼
5年了,楼主出狱了?
|
|
|