有没有办法提取TortoiseSVN保存的凭据?
简短回答:您可以使用TortoiseSVN Password Decrypter轻松显示缓存的凭据,包括密码。
详细回答:以下是该工具的工作原理。
凭证保存在%APPDATA%\Subversion\auth\
的子目录中。从这个之前的答案列出它们如下:
svn.simple
包含基本身份验证(用户名/密码)的凭证svn.ssl.server
包含 SSL 服务器证书svn.username
包含仅需要用户名而不需要密码进行身份验证的凭证第一个目录是我们感兴趣的目录。它似乎包含名称看起来像 GUID 的文件;每个文件对应一个您保存凭据的仓库。
这些文件中的密码是由Windows Data Protection API加密的。上述工具使用Obviex的样例代码与此 API 进行交互并进行解密。
为了使其工作,您必须在检查“保存身份验证”复选框时使用相同的 Windows 用户帐户。这是因为 Windows Data Protection API 使用与您的 Windows 帐户相关联的加密密钥。如果您丢失此帐户(或者管理员重置密码),则将无法再解密密码(除非通过暴力破解/第三方工具dpapick.com)。新的具有相同用户名/密码(或可能甚至 SID)的 Windows 帐户不足以实现此目的。