是否有可能模拟用户无需提供用户名/密码? 基本上,我想获得CSIDL_LOCAL_APPDATA
使用用户(而非当前) ShGetFolderPath()
函数。 所有我目前已经是该用户的SID。
Answer 1:
不,你必须调用的Win32 API LogonUser函数来获取Windows令牌帐户,让您可以再冒充。
Answer 2:
您可以模拟用户没有通过调用ZwCreateToken提供密码。 请参阅本文中的CreatePureUserToken功能: 基于GUI的RunAsEx您必须运行作为管理员(或本地系统)这个工作。
另一种方法是使用Windows子身份验证的软件包。 这使您可以覆盖windows自带的认证,并允许甚至如果提供没有密码的LogonUser成功。 看到这个知识库文章 。
文章来源: Is it possible to impersonate a user without logging him on?