检测键盘钩子

18

有没有一种方法可以检测哪些程序或模块正在监听键盘钩子?也许可以使用Sysinternals来实现?

4个回答

4

还有一些其他的链接,因为在Win7上那个链接对我无效,在这里https://dev59.com/Vmoy5IYBdhLWcg3wa9bf#15676830。 - Vijay
你的图片丢失了。 - BrainStorm.exe

1

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

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


0

不行。你可能需要钩入SetWindowsHookEx()本身才能检测到。


0

我认为你不能这样做,因为没有GetWindowsHook函数可以返回钩子。此外,我认为主键盘处理例程是通过SetWindowsHookEx()挂钩的,所以即使没有钩子,至少有一个,那就是Windows本身。


我猜可能至少有一种方法。但如果没有办法做到,那可能会成为一种恐怖的来源!谢谢。 - Kaveh Shahbazian
如果你担心有一种键盘监控程序,或许可以尝试另一种方法 - 它可能在某个地方写入文件(或通过网络连接传输)。Filemon 可以帮助你查看是否存在可疑的文件 I/O,Wireshark 也可以通过网络流量进行同样的检查。 - Marc Bernier
我在我的笔记本电脑上安装了 McAfee 安全套件,并且定期更新。希望这能为自动安全提供一些帮助。 - Kaveh Shahbazian
如果程序可以挂钩键盘,它同样可以轻松禁用您的安全套件。如果我没记错的话,您需要相当高的权限才能挂钩键盘,因此如果恶意软件应用程序成功执行此操作,则某人将其作为管理员运行。系统被攻破,游戏结束,抱歉。 - Piskvor left the building
1
@Piskvor:除非Vista/7的UAC现在阻止它,SetWindowsHookEx()可以在任何用户级别下执行。 - Marc Bernier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接