我试图从正常进程中获取当前用户令牌(未提升,而不是SYSTEM等)。我已经使用WTSQueryUserToken
尝试过此操作,但您需要使用SYSTEM访问权限才能使其无法正常工作。我在互联网上找到的唯一一件事就是获取用户的SID或名称,但我找不到有关获取当前用户令牌的任何信息。这甚至可能吗?
答案 0 :(得分:1)
因此,您需要与当前进程关联的令牌。这很简单:
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &token_handle)) fail();
请注意,您可能需要指定不同的权限,具体取决于您在获得令牌后要对令牌执行的操作。如果您要查询令牌,TOKEN_READ
权限是合适的,例如,提取用户名。如果要启用权限(当前进程令牌的另一种常见用途),则需要TOKEN_ADJUST_PRIVILEGE
。