
关于实现兼容PS/2和USB键盘的Inline Hook Logi源代码
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目提供了一种通过Inline Hook技术来同时支持PS/2和USB键盘输入的方法,并包含了相关的Logi源代码。
键盘Logger通过钩住Kbdclass驱动的分发函数实现,在Kbdclass之下是端口驱动。使用DeviceTree可以看到PS/2键盘的端口驱动为i8042prt,USB键盘的端口驱动则为Kbdhid。不论是PS/2还是USB键盘,在端口驱动处理完IRP之后都会调用上层回调函数,即由KbdClass来处理输入数据。钩住这个回调函数不仅能够兼容两种类型的键盘Logger,并且比分层驱动的方法更加隐蔽。值得注意的是,该回调函数在Kbdclass中未导出,但在DDK的代码里可以找到它——位于kbdclass.c中的KeyboardClassServiceCallback函数。我们可以在内核中通过特征码搜索来定位这个函数,楚狂人提出了一种改进方法用于寻找此目标,并且我们可以使用这种方法实现所需功能。
全部评论 (0)
还没有任何评论哟~


