破解USB HID 设备接口协议
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,分析 USB HID 设备接口协议工具: OllyDbg,Bus hound程序识别USB HID外设的方法:调用HidD_GetHidGuid函数获取HID设备的类标识,调用SetupDiGetCl
千家信息网最后更新 2025年01月20日破解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安全错误
数据库的锁怎样保障安全
评职称如何维普数据库查询
游侠服务器在哪里
南京网络安全保卫大队
数据库错误代码表情包
僵尸战争服务器选择
sql 数据库置疑
浙江以太坊网络技术
使用境外服务器安全考量
校园网络安全危险
私人数据库使用
怎么设置自家网络安全
河南星空网络技术有限公司
mysql数据库主主搭建
快递网络技术课程心得与体会
数据库出版物目前主要是
上海网络安全设置
表情识别的大数据库
网络安全已经成为非常重要的
魂师对决不同服务器能组队吗
招聘职工的数据库管理需求分析
服务器假负载是什么
四川服务器防火墙设置
软件开发角色职责
管家婆不能连接数据库
最牛服务器芯片
淮北网络安全宣传
深学网络安全基础知识
中国网络安全年收入
db2数据库42601报错
济南苹果软件开发哪家靠谱