【问题标题】:Monitoring low level hooks [C]监控低级挂钩 [C]
【发布时间】:2009-04-10 07:59:40
【问题描述】:

有什么方法可以在 Windows 环境中监视低级键盘挂钩。假设我正在制作一个试图查找键盘记录器的程序。

【问题讨论】:

  • @arsane:我试过但找不到任何东西来监控这些钩子;官方 API 只允许添加和删除钩子,您无法获取已安装钩子的列表。那么你能把你使用的查询告诉我吗?
  • 我以为你提到了键盘记录器。看来您的意思是如何找到键盘记录器,这确实是一个很难回答的问题。您可以将此hellboundhackers.org/articles/… 作为开始,希望对您有所帮助。

标签: c windows keyboard


【解决方案1】:

> 没有官方 API 可以查询已安装的键盘钩子。

是的,有。 (你太年轻了,不知道这个......)
您必须阅读 PEB。
请参阅Win32 api Group 所有 Windows 源代码(每个 api,无论是否未记录)都已被反汇编

【讨论】:

【解决方案2】:

Discussion about reading hooks

您可能会遇到的一个问题是,有些恶意软件并不作为您可以轻松枚举的“进程”而存在。

【讨论】:

    【解决方案3】:

    没有官方 API 可以查询已安装的键盘挂钩。由于 Microsoft 不共享 Windows 的源代码,因此您必须安装一个键盘挂钩并单步执行汇编代码来确定 Windows 将这些信息保存在何处。然后,您可以编写一个设备驱动程序来监视这个内存区域的变化。

    【讨论】:

      【解决方案4】:

      另一个问题是,至少有一个键盘记录器通过将自身注入键盘的处理器内存并从那里运行来工作。几乎不可能检测到,如果可以的话,您必须了解很多关于键盘如何工作的知识。

      总结:如果您以任何方式成功完成此任务,您可能不会涵盖所有可能的键盘记录器。恐怕是坏消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多