剪贴板的内容可以加密吗?
例如,假设要绕过键盘记录程序,用户会从加密文件中复制和粘贴密码,但现在密码在剪贴板中未加密。有没有办法防止这种行为,而不会破坏复制/粘贴,或运行一些扰乱剪贴板信息的脚本函数。
答案 0 :(得分:3)
如果您需要将未加密的密码提供给文本字段以便登录,则在该步骤之前您执行的任何操作都不能阻止恶意用户阅读该文本框的内容。由于需要将明文字符串发送到文本框的时间点。
我认为如果你有一个键盘记录器,你会遇到比加密密码更重要的问题
答案 1 :(得分:2)
回答您的问题:应该可以,但您需要深入了解Windows API。
要捕获 COPY 事件并加密内容,您可以使用SetClipboardViewer
通知已更改为剪贴板。 Here是如何使用C#执行此操作的示例。
要捕获 PASTE 事件并解密内容,您可能需要全局挂钩WM_PASTE
条消息。
作为旁注:曾经是键盘记录程序/木马/等。设法在您的系统上运行,它不再是您的系统。加密剪贴板或类似技术不会保护您的系统,它们可能只会提高恶意软件开发人员获取所需信息的门槛(参见Jean-Bernard的回答)。首先防止恶意代码在您的系统上运行是一种更好的方法。
答案 2 :(得分:1)
如果剪贴板信息持久保存到驱动器,那么整个磁盘加密就可以解决问题(听起来这就是你想根据问题想要做的事情)。
但加密RAM中的内容实际上并不是一种选择。在某些时候,操作系统和应用程序会读取该内存并需要知道如何处理它。它必须在机器的活动硬件中未加密某处才能使用。
答案 3 :(得分:1)
您当然可以加密数据,将其复制到剪贴板,然后在应用的另一个实例中粘贴,解密。但这仅在源/目的地同意加密时才有用。即由同一个人写的。在这种情况下,最好不要使用剪贴板,而是设置某种私有数据通道。 所以,虽然你可以做到,但这并不实际。
答案 4 :(得分:0)
您可以通过在复制之前加密应用程序的数据来实现这一点,但这实际上取决于您将使用的语言。
并在粘贴上解密,但在您的应用程序上再次解密。你不能为你的所有系统做到这一点;这将意味着对您的操作系统进行修改......
答案 5 :(得分:0)
我正在编写一个实现复制和粘贴的应用程序:因此我使用系统API从剪贴板中读取数据。
如果我无法读取未加密的数据,那么复制粘贴就会被破坏,但如果可以,那么任何其他已安装的程序(包括键盘记录程序)都可以。
答案 6 :(得分:0)
如果某人有权安装具有剪贴板访问权限的键盘记录程序,则他很可能也有权获取剪贴板的解密密钥。密码术不能代替访问控制。