我基本上想要自动挂载(非系统)Truecrypt卷或启动Keypass,只需使用单个(安全)密码保护,一个Windows 7用于默认身份验证。我正在使用C#。
对于1.我找不到任何东西(密码不存储在任何地方,只存储密码的哈希值)
对于2.我已经尝试了一些东西。我有一个程序要在用户使用GPEDIT.MSC
计算机配置 - > Windows设置 - >脚本 - >启动登录之前执行。然后我尝试使用全局密钥钩子(尝试GetAsyncKeyState
和SetWindowsHookEx
)获取密码。当我在登录时尝试捕获密钥时,两者都运行良好,但在登录过程中却没有。
但我找到了一个键盘记录软件(Elite Keylogger),它实际上能够以这种方式获取密码(登录时)。 (我在VMWare中尝试了试用版)。其他的东西,如果尝试在VM Ware和真正的机器上。
感谢您提供任何帮助或提示。
我正在使用批处理脚本执行类似的操作,以便在Windows登录Windows 10时自动挂载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文件,但如果我在其他位置保存了实际的加密磁盘密码,我仍然可以恢复对加密卷的访问。
在Windows登录后,有一种方法可以使用主密码自动解锁KeePass数据库。您可以在其他计算机上使用相同的数据库,因为它不会绑定到您的Windows用户帐户。有关详细信息,请参阅此Super User answer。
您更改KeePass数据库以使用Windows帐户作为主密钥,然后为KeePass安装TrueCrypt
插件。然后,您在KeePass中有一个条目,其中包含TrueCrypt
插件的密码,该密码也在TrueCrypt
插件中注册。
有了这个,在你登录后,打开KeePass并选择条目并单击Ctrl + T,你就可以在TrueCrypt
中安装卷了。