0

我基本上想自动挂载一个(非系统)Truecrypt 卷或启动 Keypass,只是用一个(安全)密码保护,Windows 7 用于默认身份验证。我正在使用 C#。

  1. 已经登录后是否还有获取此密码的方法?
  2. 或者无论如何要在登录过程中实际输入此密码时获取此密码。

1.我什么都找不到(密码没有存储在任何地方,只是存储了密码的哈希)

对于 2. 我已经尝试了一些东西。在用户使用 GPEDIT.MSC Computer Configuration -> Windows Settings -> Scripts -> StartUp登录之前,我有一个程序要执行。然后我尝试使用全局密钥挂钩(尝试GetAsyncKeyStateSetWindowsHookEx)获取密码。当我已经登录但在登录过程中尝试捕获密钥时,两者都可以正常工作。

但我发现了一个键盘记录软件(Elite Keylogger),它实际上能够以这种方式获取密码(登录时)。(我在 VMWare 中尝试了试用版)。如果在 VM Ware 和真机上尝试过其他事情。

感谢您提供任何帮助或提示。

4

3 回答 3

2

我正在使用批处理脚本执行类似的操作,以便在使用 Windows 10 登录 Windows 时自动安装 Truecrypt(或 Veracrypt,如果您愿意)卷。我使用 KeePass 文件设置来使用 Windows 身份验证来安全地存放加密的卷密码。

过程如下: 1) 创建您的 truecrypt 或 veracrypt 非系统卷 2) 创建 KeyPass 文件以保存包含加密卷密码的条目。设置 KeyPass 文件以在您希望驱动器自动挂载时使用的登录名下使用 Windows 身份验证。3) 使用如下所示的批处理脚本打开加密卷。通过使用 Windows 身份验证将密码保存在 KeyPass 文件中,您可以防止在批处理文件中以纯文本形式公开密码。您需要将此脚本修改为您的特定系统。

@ECHO Mounting Secure Drive (S:)
@ECHO OFF
SETLOCAL EnableDelayedExpansion 
SET x=0
FOR /F "usebackq" %%F IN (`"C:\Program Files (x86)\KeePass Password Safe 2\KPScript.exe" -c:GetEntryString C:\<LocationOfYourKeePassFile>\<keepassfilename>.kdbx -useraccount -ref-Title:<entrytitle> -Field:Password`) DO (
 SET Pass!x!=%%F
 set /a x+=1
)
"C:\Program Files\TrueCrypt\truecrypt" /v \Device\Harddisk0\Partition4 /ls /s /q /p %Pass0% /b /h n /w

4)最后,设置一个windows任务计划程序在windows登录时运行批处理。目标用户帐户的触发器应该是“登录时”。操作应该是“启动程序”,目标是批处理脚本的完整路径

我喜欢这种方法的另一个特点是,我可以将加密的文件卷密码保存在其他地方,以防 Windows 帐户被损坏或删除。即,我可能无法访问设置为使用 Windows 身份验证的 KeyPass 文件,但如果我已将实际加密磁盘密码保存在其他地方,我仍然可以恢复对加密卷的访问。

于 2017-12-24T03:27:04.797 回答
0

有一种方法可以在 Windows 登录后自动使用主密码解锁 KeePass 数据库。您可以在其他计算机上使用相同的数据库,因为它不会绑定到您的 Windows 用户帐户。有关详细信息,请参阅此超级用户答案

于 2014-03-16T20:29:58.620 回答
0

您将 KeePass 数据库更改为使用您的 Windows 帐户作为主密钥,然后安装TrueCryptKeePass 插件。然后,您在 KeePass 中有一个条目,其中包含TrueCrypt安装在TrueCrypt插件中的密码。

有了它,在您登录后,打开 KeePass 并选择条目并单击Ctrl + T并且您已将卷安装在TrueCrypt.

于 2013-06-10T14:25:36.517 回答