3 回答
TA贡献1803条经验 获得超6个赞
这是可能的,虽然它需要你做很多代码。请参阅NtCreateToken和CreateToken。你需要SeCreateTokenPrivilege,虽然这不会是一个问题,因为你在NT AUTHORITY \ SYSTEM下运行。然后,您可以使用创建的令牌模拟线程内部。
TA贡献1884条经验 获得超4个赞
简答:您不能没有用户密码或用户通过COM呼叫您的服务。
要在您的流程中冒充其他用户,您必须致电ImpersonateLoggedOnUser。ImpersonateLoggedOnUser需要一个令牌句柄。有几种方法可以获得令牌句柄:
以用户身份登录LogonUser。但是,这需要您知道用户密码。
通过复制现有令牌CreateRestrictedToken,DuplicateToken或DuplicateTokenEx。
通过打开来自另一个进程或线程的令牌,已经是作为用户的loggen,用OpenProcessToken或OpenThreadToken
TA贡献1982条经验 获得超2个赞
对于密码存储部分,您可能想看看最近提出的这个问题。
这是我的答案:
您可以/应该使用DPAPI,即提供存储加密的Data Protection API。
这就是针对这类问题。
存储的加密基于以下任一种:
用户帐户,因此只有登录用户才能访问数据。这使得数据可以转移到具有完全相同的用户凭证的另一台PC。
机器,使数据只能在特定的机器设置上访问,不能转移到另一台PC。
有一个dnrTV节目与卡尔富兰克林展示了实现这个和其他加密功能所需的确切内容。
该节目的源代码也可以在页面上找到。
当然,还有很多关于这个主题的文章。
- 3 回答
- 0 关注
- 711 浏览
添加回答
举报