【问题标题】:Detecting Keyboard Hooks检测键盘挂钩
【发布时间】:2009-09-23 10:15:36
【问题描述】:

有没有办法检测哪些程序或模块正在监听键盘挂钩?也许是 Sysinternals 的?

【问题讨论】:

    标签: windows security windows-vista keyboard hook


    【解决方案1】:

    【讨论】:

    【解决方案2】:

    这在很大程度上取决于您获得按键的抽象级别。
    为了最大限度地进行检测,您可以直接使用硬件或尽可能低(一些挂钩在硬件驱动程序级别工作)。

    出于安全考虑,您还可以使用虚拟键盘 - 挂钩必须专门针对您的应用程序来模拟按键。

    【讨论】:

      【解决方案3】:

      不。您可能必须连接到 SetWindowsHookEx() 本身才能检测到这一点。

      【讨论】:

        【解决方案4】:

        我不认为你可以,没有 GetWindowsHook 函数可以返回钩子。另外,我的印象是主键盘处理例程是通过 SetWindowsHookEx() 挂钩的,所以即使没有挂钩,也至少有一个,Windows 本身。

        【讨论】:

        • 谢谢;我猜这至少是一个。但是,如果没有办法做到这一点;这可能是恐怖的根源!
        • 如果您担心某种键盘监控程序,也许您可​​以尝试另一种方法 - 它可能正在某处写入文件(或通过网络连接传输)。 Filemon 可以帮助您查看是否有任何可疑的文件 I/O,Wireshark 可以对网络流量进行同样的处理。
        • 我的笔记本电脑上安装了 McAfee 安全套件,并且我会对其进行更新。希望这有助于一些自动安全。
        • @Kaveh Shahbazian:如果程序可以挂断键盘,它就可以轻松禁用您的安全套件。 IIRC,您需要相当高的权限才能挂接键盘,因此如果恶意软件应用程序成功执行此操作,则有人以管理员身份运行它。系统root,游戏结束,抱歉。
        • @Piskvor:除非 Vista/7 的 UAC 现在阻止它,否则 SetWindowsHookEx() 可以在任何用户级别执行。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-18
        • 1970-01-01
        • 2023-03-13
        • 2015-09-22
        • 2010-09-27
        相关资源
        最近更新 更多