【问题标题】:Keyboard manipulation键盘操作
【发布时间】:2014-05-04 08:25:23
【问题描述】:

我将非常具体。 这就是我想在 Windows 中执行的操作:

  1. 编写让键盘向我发送字符的代码,我对键盘发送字符信号所需的时间感兴趣。

  2. 找到一种方法来确保此代码获得优先级,而不是让它排队或被操作系统中断

  3. 找到一种读取键盘状态信号的方法

我读了很多书,我得到的只是如何模拟键盘..我只需要指出正确的方向

【问题讨论】:

  • 寻找Shadow Keylogger并反编译它,如果它不是开源的。它是用 C# 编写的
  • '我对键盘发送字符信号所花费的时间感兴趣' - 在哪里和哪里之间?您将有特殊的硬件来检测真实物理键盘上的按键操作吗?此外,操作系统不会产生中断,外围硬件会产生中断,从而导致驱动程序运行 - 您必须编写一些东西才能在没有软件排队的情况下接收按键输入。

标签: c# c++ c winapi keyboard


【解决方案1】:

最常见的选项是使用 Windows hook - 或 WH_Keyboard 或 WH_JOURNALRECORD。不同之处在于 WH_JOURNALRECORD 不需要单独的 DLL。

或者您可以编写自己的键盘驱动程序。它可以通过两种方式实现:您自己的全键盘驱动程序而不是标准驱动程序或额外的filter driver

最后你可以编写一个rootkit。 可以在用户态通过拦截csrss.exe进程实现。

由于我不确定您的目的是什么,因此我不会详细说明。

【讨论】:

  • 我发现可以使用一种称为直接操作的技术来避免排队。我对上面问题的第 1 部分不是很幸运,我只是使用 win32 api 获取键盘输入。抱歉第一次不清楚,我想编写代码向键盘发送信号并使其发送回将指定的字符(各种回声),我需要使用回声的时间我正在编写的应用程序
猜你喜欢
  • 1970-01-01
  • 2016-02-01
  • 2011-08-25
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 2020-09-10
相关资源
最近更新 更多