什么是将键发送到应用程序而不被键盘记录器检测到的替代方法?

时间:2013-03-07 19:10:09

标签: c windows architecture open-source

即使没有被SetWindowsHookEx LowLevel键盘挂钩检测到,也没有被击键记录程序检测到将键发送到应用程序的替代方法是什么。我知道有虚拟键盘用于此目的,但我想要它的技术?有没有与之相关的开源项目?

3 个答案:

答案 0 :(得分:2)

您可以使用WM_SETTEXT消息直接设置目标应用程序中特定编辑框的文本值,但您必须先将流程注入目标流程。

这样做的好处是即使使用SetWindowHookEx挂钩消息,也无法在没有注入进程的情况下找到字符串。为了逼真地拦截这种消息,恶意软件必须将计算机上的每个进程挂钩,即使这样也没有用,因为大多数文本都不是键盘文本,因此恶意软件无法知道什么是键盘文本和什么不是。

另一种方法是使用WM_COPYDATA,但这是外部可挂钩的。

答案 1 :(得分:1)

最好的方法是通过剪贴板发送ASCII字符串,这是一些聪明的方法,如某些程序,如Bruce Schneier的好KeePassX或PasswordSafe

答案 2 :(得分:0)

如果发送4位或6位数的PIN就足够了,您的应用程序可能会要求通过随机映射输入它 - >

    (1)  (2)  (3)
    zih  lbg  qsw

    (4)  (5)  (6)
    ukx  ...  ...

代码1234将作为ibqu或zlsx输入。
当然,在客户实际输入PIN作为数字的时刻,这会受到影响......

当长度增加时,这种方法变得越来越烦人 - 所以我认为这只是你标题中提到的另一种选择,而不是最好的。