将按键发送到应用程序而不被键盘记录器检测到,甚至不被SetWindowsHookEx LowLevel键盘挂钩检测到的替代方法是什么?我知道有虚拟键盘是用于这一目的,但我想知道它的技术?有没有与之相关的开源项目?
发布于 2013-03-08 03:45:15
您可以使用WM_SETTEXT消息直接设置目标应用程序中特定编辑框的文本值,但必须首先将流程注入到目标流程中。
这样做的好处是,即使消息是使用SetWindowHookEx挂钩的,也无法在不注入进程的情况下找到字符串。为了切合实际地拦截这类消息,恶意软件必须将计算机上的每个进程都挂起,即使这样也没有什么用处,因为大多数文本不是键盘文本,因此恶意软件将无法知道哪些是键盘文本,哪些不是。
另一种方法是使用WM_COPYDATA,但这是外部可挂接的。
发布于 2013-03-08 03:14:55
最好的方法是通过剪贴板发送ASCII字符串,这是一个巧妙的方法,被一些程序使用,如Bruce Schneier的good KeePassX或PasswordSafe
发布于 2013-03-09 17:44:18
如果发送4位或6位PIN码就足够了,您的应用程序可以要求通过随机映射->输入它
(1) (2) (3)
zih lbg qsw
(4) (5) (6)
ukx ... ...代码1234将输入为ibqu或zlsx。
当然,这是在客户实际输入他的PIN作为数字的瞬间受到损害的…
当长度增加时,这种方法变得越来越令人讨厌--所以我只提供您标题中要求的一种替代方法,而不是最好的。
https://stackoverflow.com/questions/15279698
复制相似问题