破解USB HID 设备接口协议
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,分析 USB HID 设备接口协议工具: OllyDbg,Bus hound程序识别USB HID外设的方法:调用HidD_GetHidGuid函数获取HID设备的类标识,调用SetupDiGetCl
千家信息网最后更新 2025年12月01日破解USB HID 设备接口协议
分析 USB HID 设备接口协议
工具: OllyDbg,Bus hound
程序识别USB HID外设的方法:调用HidD_GetHidGuid函数获取HID设备的类标识,调用SetupDiGetClassDevs函数查询所有已安装的HID设备,得到一个指向该HID设备集合的句柄,调用SetupDiEnumDeviceInterface函数查询HID设备集中每一个设备的接口信息,对每一个接口,调用SetupDiGetDeviceInterfaceDetail函数获取其详细的信息,包括设备名称(头四个字节),CreateFile用此设备名打开设备,调用SetupDiDestroyDeviceInfoList函数释放设备信息集合;第二步,打开设备,获取设备的属性值以及设备能力描述,调用CreaterFile函数打开本设备。调用HidD_GetAttributes函数,获取USB设备的有关属性。它包含了设备的厂商ID、产品ID及产品的版本号等。
启动OllyDbg 装入模拟器软件,下断点 HidD_GetAttributes,CreateFile,这个函数是能把HID 的关键信息获取。
004417B2 . 8B0D D8CD9500 MOV ECX,DWORD PTR DS:[95CDD8] 004417B8 . A3 00CE9500 MOV DWORD PTR DS:[95CE00],EAX004417BD . 33D2 XOR EDX,EDX004417BF . 8BC1 MOV EAX,ECX004417C1 . 8A15 D7CD9500 MOV DL,BYTE PTR DS:[95CDD7] 004417C7 . 25 FF000000 AND EAX,0FF004417CC . 8BF2 MOV ESI,EDX 004417CE . 8BD0 MOV EDX,EAX004417D0 . 83E2 03 AND EDX,3 004417D3 . 33DB XOR EBX,EBX 004417D5 . C1E2 08 SHL EDX,8 004417D8 . 8A1D D6CD9500 MOV BL,BYTE PTR DS:[95CDD6] 004417DE . 8D9432 DC03000>LEA EDX,DWORD PTR DS:[EDX+ESI+3DC]004417E5 . 8915 E0CD9500 MOV DWORD PTR DS:[95CDE0],EDX 004417EB . 8BD0 MOV EDX,EAX004417ED . 83E2 0C AND EDX,0C 004417F0 . C1E2 06 SHL EDX,6 004417F3 . 8D941A DC03000>LEA EDX,DWORD PTR DS:[EDX+EBX+3DC] 004417FA . 33DB XOR EBX,EBX004417FC . 8915 E4CD9500 MOV DWORD PTR DS:[95CDE4],EDX 00441802 . 8BD0 MOV EDX,EAX00441804 . 83E2 30 AND EDX,30 00441807 . 8ADD MOV BL,CH 00441809 . C1E2 04 SHL EDX,4 0044180C . 25 C0000000 AND EAX,0C0 00441811 . 8D8C1A DC03000>LEA ECX,DWORD PTR DS:[EDX+EBX+3DC] 00441818 . 33D2 XOR EDX,EDX0044181A . 8A15 D5CD9500 MOV DL,BYTE PTR DS:[95CDD5] 00441820 . 890D E8CD9500 MOV DWORD PTR DS:[95CDE8],ECX 00441826 . 8D8482 DC03000>LEA EAX,DWORD PTR DS:[EDX+EAX*4+3DC] 0044182D . A3 ECCD9500 MOV DWORD PTR DS:[95CDEC],EAX 00441832 . A1 DCCD9500 MOV EAX,DWORD PTR DS:[95CDDC] 00441837 . A8 40 TEST AL,40 00441839 . 74 41 JE SHORT REFLEX.0044187C 0044183B . 25 FF000000 AND EAX,0FF 00441840 . 33D2 XOR EDX,EDX00441842 . 8A15 DBCD9500 MOV DL,BYTE PTR DS:[95CDDB] //取CH5的低8位数据00441848 . 8BC8 MOV ECX,EAX0044184A . 83E1 0C AND ECX,0C0044184D . C1E1 06 SHL ECX,600441850 . 8D8C11 DC03000>LEA ECX,DWORD PTR DS:[ECX+EDX+3DC]00441857 . 8BD0 MOV EDX,EAX00441859 . 83E2 03 AND EDX,3 //取CH6 的高2位0044185C . 890D F8CD9500 MOV DWORD PTR DS:[95CDF8],ECX //保存CH500441862 . C1E2 08 SHL EDX,800441865 . 33C9 XOR ECX,ECX00441867 . 8A0D DACD9500 MOV CL,BYTE PTR DS:[95CDDA] //取CH6 的低8位0044186D . 8D940A DC03000>LEA EDX,DWORD PTR DS:[EDX+ECX+3DC] //计算出CH6 数据00441874 . 8915 FCCD9500 MOV DWORD PTR DS:[95CDFC],EDX // 保存CH6 数据0044187A . EB 4A JMP SHORT REFLEX.004418C60044187C > 25 FF000000 AND EAX,0FF00441881 . 33D2 XOR EDX,EDX00441883 . 8A15 DBCD9500 MOV DL,BYTE PTR DS:[95CDDB]00441889 . 8BC8 MOV ECX,EAX0044188B . 83E1 0C AND ECX,0C0044188E . C1E1 06 SHL ECX,600441891 . 8D8C11 DC03000>LEA ECX,DWORD PTR DS:[ECX+EDX+3DC]00441898 . 8BD0 MOV EDX,EAX0044189A . 890D F0CD9500 MOV DWORD PTR DS:[95CDF0],ECX004418A0 . 83E2 03 AND EDX,3004418A3 . 33C9 XOR ECX,ECX004418A5 . 8A0D DACD9500 MOV CL,BYTE PTR DS:[95CDDA]004418AB . C1E2 08 SHL EDX,8004418AE . 8D940A DC03000>LEA EDX,DWORD PTR DS:[EDX+ECX+3DC]004418B5 . 8BC8 MOV ECX,EAX004418B7 . C1E9 07 SHR ECX,7 004418BA . 8915 F4CD9500 MOV DWORD PTR DS:[95CDF4],EDX 004418C0 . 890D 04CE9500 MOV DWORD PTR DS:[95CE04],ECX004418C6 > 8BD0 MOV EDX,EAX 004418C8 . 83F6 07 XOR ESI,7 004418CB . 83E2 0F AND EDX,0F 004418CE . 03D6 ADD EDX,ESI 004418D0 . D1E2 SHL EDX,1 004418D2 . 33D0 XOR EDX,EAX 004418D4 . F6C2 30 TEST DL,30 004418D7 . 74 3A JE SHORT REFLEX.00441913004418D9 . A1 C4CD9500 MOV EAX,DWORD PTR DS:[95CDC4]004418DE . 85C0 TEST EAX,EAX004418E0 . 75 40 JNZ SHORT REFLEX.00441922004418E2 . A1 08CE9500 MOV EAX,DWORD PTR DS:[95CE08]004418E7 . C705 C4CD9500 >MOV DWORD PTR DS:[95CDC4],1004418F1 . 50 PUSH EAX004418F2 . EB 1D JMP SHORT REFLEX.00441911004418F4 > 8B0D 08CE9500 MOV ECX,DWORD PTR DS:[95CE08]004418FA . C705 C4CD9500 >MOV DWORD PTR DS:[95CDC4],100441904 . 8935 B8CD9500 MOV DWORD PTR DS:[95CDB8],ESI0044190A . 8935 BCCD9500 MOV DWORD PTR DS:[95CDBC],ESI00441910 . 51 PUSH ECX00441911 > FFD5 CALL EBP00441913 > A1 C4CD9500 MOV EAX,DWORD PTR DS:[95CDC4]00441918 . 33F6 XOR ESI,ESI0044191A . 3BC6 CMP EAX,ESI0044191C .^0F84 61FEFFFF JE REFLEX.0044178300441922 > 5F POP EDI00441923 . 5E POP ESI00441924 . 5D POP EBP00441925 . 33C0 XOR EAX,EAX00441927 . 5B POP EBX00441928 . 59 POP ECX00441929 . C2 0400 RETN 4
设备
函数
信息
接口
数据
产品
属性
查询
关键
厂商
句柄
名称
外设
字节
工具
指向
断点
方法
标识
模拟器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
对本届网络安全宣传周的看法
光宝服务器电源2450w
数据库原理及应用第五章答案
深圳软件开发岗的工资
武冈计算机网络技术哪家不错
周村财务软件开发
提高mysql数据库性能
如何提高多少数据库的安全性
vernox 数据库下载
数据库就业形势
紫外可见吸收光谱 数据库
idc服务器租用 增值税
冷门数据库
上联网络安全求下联
佛山市日日新网络技术有限公司
谭志强 数据库
mfc软件开发框架
网络安全选题主要依据
java数据库查询数量
服务器浏览器增强的安全配置
数据库可以储存多少数据
软件开发三年经验工资多少
网络安全生产许可证
浪潮公有云服务器
软件开发 主流开发工具
方舟集群服务器端口
在外文数据库中检索organ
搜索软件开发案例
第二届网络安全培训
广西广电网络安全培训机构