Advertisement

关于实现兼容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)

还没有任何评论哟~
客服
客服
  • PS/2USBInline Hook Logi
    优质
    本项目提供了一种通过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函数。我们可以在内核中通过特征码搜索来定位这个函数,楚狂人提出了一种改进方法用于寻找此目标,并且我们可以使用这种方法实现所需功能。
  • BackInC驱动级模拟按USB
    优质
    BackInC驱动级模拟按键源码是一款专为开发者设计的工具软件,它能够实现驱动级别的虚拟按键功能,并完美支持USB键盘设备。该源代码提供了一个灵活而强大的框架,帮助用户在各种应用场景中轻松控制和仿真键盘输入。无论是在自动化测试、脚本编写还是游戏辅助领域,此工具都展现出了卓越的能力和广泛的适用性。 调用了两种驱动程序来实现按键模拟功能。其中BackInC汇编调用的驱动支持USB键盘,在Windows 7 32位和XP 32位系统上测试成功,其他环境也已自测通过。该方法已经打包成模块,并提供了一个简单的示例代码。 使用工商安全控件进行输入时发现模拟功能正常工作;但在尝试农业银行的安全级别较高的应用时,输入一半后提示驱动错误。目前尚未找到解决此问题的方法。对于游戏等应用场景而言没有遇到任何问题,本地USB键盘测试也已成功完成。 特别提醒:普通驱动加载完成后关闭前务必卸载驱动程序,否则编译后的运行无法再次加载该驱动。在调试过程中如果发现无法正常加载可以尝试先卸载再重新安装驱动。
  • PS/2鼠标协议开发
    优质
    本项目旨在解析并实现PS/2键盘和鼠标通信协议的源代码,为开发者提供低级硬件控制和理解输入设备工作原理的学习资源。 使用51核心单片机开发的PS/2键盘鼠标协议源代码。
  • PS/2VerilogVHDL程序
    优质
    本项目展示了如何使用Verilog和VHDL两种硬件描述语言编写PS/2键盘解码器代码。通过这些设计,可以实现键盘输入信号的有效解析与处理。 PS/2键盘解码实验程序:CPLD通过PS/2接口接收来自键盘的数据,并将接收到的大写字母A到Z的键值转换成相应的ASCII码。然后这些数据会通过串口传输给PC机,使得只要按下字母按键就能在串口调试助手中显示对应的字母。文件中包括了使用Verilog和VHDL两种语言编写的Quartus II程序供参考。
  • PS/2检测
    优质
    简介:本文介绍了如何检测电脑上的PS/2接口键盘是否正常工作,包括硬件检查和软件诊断方法,帮助用户解决键盘连接问题。 键盘是人机交互中最常用的设备之一,在嵌入式系统中有广泛应用。自行设计的简易矩阵键盘通常只是按照行列排列起来的开关阵列。当需要较多按键时,会占用大量I/O端口,并且在软件上要进行初始化扫描和通信处理,还需增加去抖动功能,这增加了软硬件的成本。 相比之下,PS/2 键盘内置自动去除按键抖动设计,能够自动识别键的状态(按下或释放),简化了开发过程,并具有价格实惠、稳定可靠的特点。因此,在嵌入式系统中使用 PS/2 键盘作为输入设备变得越来越可行。 本项目基于现场可编程逻辑器件(FPGA)构建了一个PS/2接口键盘的输入识别电路,通过QuartusⅡ软件编写verilog HDL硬件描述语言程序来实现简单的键值识别与输出。该设计主要以程序为核心,并使用实验箱搭建硬件电路。在顶层文件中定义了相应的输入和输出端口配置,除了实验箱上的复位按钮外,还需要一个通过PS/2接口连接到实验箱的键盘。 当系统启动后,在数码管上会依次显示从键盘接收到的键值信息,并且具备清零功能以方便测试。
  • Windows Hook示例(X86X64)
    优质
    本示例展示了如何在Windows平台上使用Hook技术进行API拦截与修改,适用于X86及X64架构,提供源代码级兼容解决方案。 Windows上的局部hook技术可以全面支持32位和64位程序。欲了解更多信息,请关注公众号:AV_Chat。
  • BackInC驱动级模拟按[USB]-易语言
    优质
    本项目提供了一种在易语言环境下实现的驱动级模拟按键解决方案,特别适用于通过USB接口连接的键盘设备。代码旨在为开发者提供便捷地控制和仿真键盘输入的能力,支持多种操作系统环境下的应用开发需求。 BackInC驱动级模拟按键源码支持USB键盘。
  • Linux下PS/2驱动
    优质
    本篇文档深入探讨了在Linux操作系统下PS/2键盘驱动的工作原理与实现方法,为开发者提供详尽的技术指导。 在uclinux下开发了一个PS2键盘驱动程序,希望与大家分享。
  • STM32 USB鼠标
    优质
    本项目提供了一个基于STM32微控制器实现USB键盘与鼠标的详细实例代码,适用于嵌入式开发学习者参考。 关于STM32的USB键盘及鼠标例程在网络上可以找到很多资源,但在同一设备中集成键盘与鼠标的例程则相对较少(我通过Google仅找到了基于51D12的版本)。以下是参考该版例程制作而成的在STM32上实现集成了键盘和鼠标功能的程序。
  • 内存注入技术(IAT HookInline Hook)
    优质
    本文介绍了计算机安全领域中的内存注入技术,重点讲解了IAT Hook与Inline Hook两种常用的技术方法及其应用。 本压缩包包含我自己编写的内存注入程序及测试程序,并附有相应的源码。该程序会用MessageBox去Hook指定的函数。