如何在C ++中模拟假按键

时间:2015-11-09 16:58:12

标签: c++ windows security

我想制作一个反键盘记录器,并且我想出了一个想法,当用户在窗口中输入一些文本时模拟随机假按键。 让我们说,每次在Firefox,GoogleChrome窗口中按下某个键时,我的应用程序都会模拟假按键。

我已经尝试过SendInput,但它发送的字符是真实的(它不是假的,字符真的是打印的,而且这不是我想要的)。 我已经有了一次生成随机字符的功能,但问题是将其作为假按键发送。

所以目标是,如果用户感染了任何类型的键盘记录程序,键盘记录器只会收到我发送的假冒生成字符,而用户真正录制。 我的项目主要是Windows,控制台应用程序和SMFL Gui,你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以在Windows平台上模拟按键。

Microsoft Windows平台使用邮件系统。按下某个键时,操作系统会向收听的任务发送一条消息,其中包含所按键的

MSDN网站包含有关如何发送按键消息的更多详细信息。

此外,StackOverflow也有类似的问题。

尝试以下搜索字词:

  • MSDN C ++ keypress模拟
  • MSDN C ++按键消息
  • MSDN发送密钥按消息c ++
  • StackOverflow C ++键按下模拟窗口

编辑1:
还有一些方法可以挂接监听器的按键消息。例如,密钥记录器可以注册为主侦听器,接收消息,处理密钥,然后消息转发给其他侦听器。

如果您想绕过Key Logger,您将需要深入了解键盘挂钩并了解它们的工作原理。