在不被键盘记录器检测到甚至没有被 SetWindowsHookEx LowLevel Keyboard Hooking 检测到的情况下,将键发送到应用程序的替代方法是什么。我知道有用于此目的的虚拟键盘,但我想要它的技术?有没有与之相关的开源项目?
问问题
407 次
3 回答
2
您可以使用 WM_SETTEXT 消息直接设置目标应用程序中特定编辑框的文本值,但您必须先将您的进程注入目标进程。
这样做的好处是,即使使用 SetWindowHookEx 钩住了消息,如果不同样注入进程,也无法找出字符串。为了真实地拦截这种消息,恶意软件必须挂钩计算机上的每个进程,即使这样它也没有用,因为大多数文本不是键盘文本,所以恶意软件无法知道什么是键盘文本以及什么是键盘文本不是。
另一种方法是使用 WM_COPYDATA,但这是外部可挂钩的。
于 2013-03-07T19:45:15.197 回答
1
最好的方法是通过剪贴板发送 ASCII 字符串,这是一些程序使用的聪明方法,比如 Bruce Schneier 的优秀 KeePassX 或 PasswordSafe
于 2013-03-07T19:14:55.163 回答
0
如果发送 4 位或 6 位 PIN 就足够了,您的应用程序可能会要求通过随机映射输入它 ->
(1) (2) (3)
zih lbg qsw
(4) (5) (6)
ukx ... ...
代码 1234 将输入为 ibqu 或 zlsx。
当然,这在客户实际输入他的 PIN 作为数字的那一刻就受到了损害......
当长度增加时,这种方法变得越来越烦人——所以我提供这个只是你标题中要求的一种替代方法,而不是最好的。
于 2013-03-09T09:44:17.733 回答