在这个问题中Google Chrome 如何存储密码? 我发现了我的 Chrome 密码是如何加密的。密码是用当前用户帐户(Windows 的)加密的。
在重新安装 Windows 之前,我已经从“C:\Users\%username%\AppData\Local\Google\Chrome\User Data”保存了我的用户数据。
将数据放入新安装的系统后,我只存储了我的 chrome 设置和书签。列表中没有密码(在 chrome 中)
和Chrome通行证我只能恢复我的网站数据和登录名。(密码值为空)
我知道一些存储在登录数据中的密码以及旧系统上的用户名和密码。
我能解密我的密码吗?
答案1
Windows 上的 Google Chrome 使用 Windows 加密功能加密您保存的密码加密保护数据。为了解密保存的密码,您不仅需要使用 Chrome 保存密码时使用的相同用户密码登录,还必须在同一台计算机上。
根据您的描述,我了解到您只是重新安装了 Windows,但使用的是同一台计算机。请尝试更改密码或使用重新安装前使用的用户名和密码创建一个新帐户,以使用 ChromePass 解密密码。
答案2
这个问题有点过时了,当时相当活跃,但似乎没有得到有意义的答案。无论如何,这个答案是为任何像我一样偶然发现这个页面的人准备的。
虽然注意到你们在同一台电脑上使用相同的用户名和密码,加密保护数据使用一种加密算法,该算法从环境变量(例如当前计算机 ID 和用户凭据)中获取密钥。由于您提到全新安装 Windows,我假设您在此过程中重新格式化了系统(虽然简单地升级到新硬盘也可能是重新安装 Windows 的情况),虽然是同一台计算机,可能使用相同的操作系统,但仍然存在未知变量会影响您计算机的系统环境和用户环境。一个简单的问题是,您安装的 Windows 版本与旧系统相比是什么?旧系统很可能已经下载并安装了 Windows 更新,从而改变了您将数据带回的 Windows 环境。Chrome 也是如此,从您第一次登录并保存特定浏览器版本的第一个密码到您重新安装它的版本?
由于现在提出这些问题很简单,您更简单的不是问如何解密,而是问您是否可以解密,在这种情况下,由于这是全新安装的 Windows,因此技术上更正式的答案应该是“否”。但当然,“保护”同一用户的不同应用程序提取是调用者可以提供的额外熵。因此实际上,您始终可以运行该应用程序并获得它。
虽然将其导入 Chrome 导致设置菜单中根本没有显示任何数据,但您只能使用 ChromePass 检索用户名数据,而密码应该报告的地方却是空的。您使用的 Chrompass(我假设您使用的是尼尔软件) 尝试从 chrome DB 文件中提取存储的熵值,而另一种方法是附加到 chrome 进程并拦截其对 CrypProtect 的调用。可以找到 CryptProtect 使用的 DPAPI 的概述这里。虽然可以找到用于 DPAPI 提取的工具,例如 mimikatz这里。
虽然 mimikatz 可以为你提供多种解决方案,但更简单的方法是加密保护数据zhmyh1337 使用存储在 Visual Studio 项目中的函数直接调用 WinAPI CryptPortectData,并且可能与你当时的 chrome 版本有关,我猜是 30.0.1599.101