2

我想使用 Visual C++ 以编程方式获取存储在我的计算机中的各种用户帐户密码。是否有任何 API 可以帮助我做到这一点?

4

6 回答 6

5

无法通过 Win32 API 检索 Windows 密码或大多数其他程序的密码。

对于 Windows 密码,您通常必须使用 LogonUser 要求用户输入他们的用户名/密码并进行验证。

对于其他程序,它们通常存储在由主机应用程序加密的磁盘上。

于 2009-04-09T12:22:20.133 回答
3

这在 Windows 上绝对是不允许的。

考虑让任何给定程序获取密码的后果。这意味着像纸牌这样的程序将能够获取您的密码并以多种邪恶的方式使用它。更糟糕的是,该程序可以使用密码访问其他机器的资源。

简而言之,它会将安全性抛到窗外

于 2009-04-09T12:28:39.960 回答
2

不,那将是一个安全漏洞。 见这篇文章

于 2009-04-09T13:20:15.093 回答
1

这取决于您要获取的密码是什么?

某些密码无法找回,例如 Windows 登录密码。其他一些密码存储(明文或加密)在磁盘或注册表中的某个位置,具体取决于应用程序如何存储它们。

例如, Win32 API CredEnumerate可以为您提供某些应用程序(Internet Explorer 密码等)的用户凭据(登录名和密码)。

于 2009-04-09T12:27:38.450 回答
0

您只能恢复散列密码,而不是密码本身。

于 2009-04-09T13:03:30.877 回答
0

我对此没有个人经验,但有人告诉我,那里有一些实用程序(通常在 .ru 网站上可以找到;))可以为您完成此类工作。看到这是如何发生的令人震惊,这让你变得偏执。然而,我不能建议一个特定的工具来做到这一点,但我想反对所有那些一直说不可能的人。

于 2009-04-10T10:14:23.713 回答