电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

使用OllyDbg 分析 USB HID 设备接口协

使用OllyDbg 分析 USB HID 设备接口协_第1页
1/5
使用OllyDbg 分析 USB HID 设备接口协_第2页
2/5
使用OllyDbg 分析 USB HID 设备接口协_第3页
3/5
使用 OllyDbg 分析 USB HID 设备接口协源地址:作者:Tase tase@163.com 关键字:OllyDbg,USB,HID,Bus hound,分析工具:OllyDbg,Bus hound 分析对象:一个 USB 接口飞行模拟器目的:通过分析使用 USB HID 设备的软件,从中其主程序中"扣"HID 设备数据协议,再根据这些协议自己实现 USB HID 的设备,达到仿制原装 HID 数据采集设备的目的。我有幸拿到了一款原装的飞行模拟软件和接口设备,这个模拟器是通过一个 USB 接口把遥控设备上的数据采集到 PC,再通过软件模拟现实飞行,因为原装设备昂贵,因此打算DIY 一套接口,便下手分析了一把!这个模拟器软件有两部分组成,其一是模拟软件,其二是一个 USB 的数据采集设备,在拿到设备前,我就猜想,它可能是 HID(人体学设备)DEVICE,现在很多 USB 数据采集设备都是采纳的 HID 协议的方法设计,这样的话就可以实现在 WINDOWS 下免驱动安装,并且可以通过 windows 自带的接口以客户态的方式访问这些硬件接口。经过测试,果然是 HID 设备,使用 Bushound5 总线观察器,用它来捕捉总线上的 USB设备数据,HID 设备很简单,花了两个小时就基本弄清楚了它大部分的数据含义,因此很快就根据我理解的协议把设备在单片机开发板上实现了,插上我的设备,模拟器软件很快就识别了我的接口,但显示各通道数据时,都是 0,也就是说,它的系统检测到了一个接口设备,但这个设备采样的数据是错误的。于是我又回到总线数据分析,找到我遗漏的 2 个 bit,这个 2 个 bit 是我没有理解的,我猜想它是校验位,经过观察,这个 2 个 bit 只和几个字节有关,但就是这 2 个 bit 花了我4 天的时间,这几天让我学会 Excel 中很多大多数人不知道的功能,学会了使用 VBScript写宏,我甚至用到了 MATLAB,我一直是用统计的方法寻找 2bit 的规律,但最终我失败了。山穷水尽,想到了 Ollydbg 分析它主程序中的 USB 接口的协议,没有想到,一个晚上,就解决了我的问题。在 Windows 下访问 HID 设备可以有两种方法,一是核态,也就是用驱动程序的方法访问,这个方法非常复杂,我知道原理,但自己还没有写过这样的驱动。二是客户态,即应用程序通过调用 Windows 提供的 Hid 访问函数就可以实现对 HID 设备的访问。假如我们截获了这些函数的调用,那么,距离我们要解决的目标就不远了。一般情况下,主程序识别 USB HID 外设的方法:首先调用 HidD_G...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

使用OllyDbg 分析 USB HID 设备接口协

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部