Есть вот такой вопрос, как заменить токен текущего процесса? Механизм дубликации токена процесса имеется, надо как-то вставить его в текущий процесс.
EPROCESS->Token
SetThreadToken
Уже прочитал, но мне все еще осталось не понятно, как скопировать именно Impersonate токен, а не primary? Пробовал указывать TOKEN_TYPE <name> = TokenImpersonate, ошибок не выдает, но и пользователя не меняет. Язык c++Windows API and Impersonation Part 2 - How to get SYSTEM using Impersonation Tokens
Introduction0x00-0x00.github.io
как скопировать именно Impersonate токен
OpenProcessToken(handle_of_process, TOKEN_IMPERSONATE | TOKEN_DUPLICATE, &hToken);
DuplicateToken(hToken, SecurityImpersonation, &hImpersonationToken);
SetThreadToken(hImpersonationToken);