完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先贴标准协议中的描述:
描述符本身: 主机的请求结构: 直接对一个设备抓包分析,setup包第3字节0x03,代表当前请求的是字符串描述符。 通常一个最简单的设备会支持3个字符串描述符①语言描述符②厂商信息描述符③产品信息描述符④序列号描述符 其中语言描述符简单说固定4字节,常规的都是0x04、0x03、0x09、0x04(美式英语) 其余描述符都是符合UNICODE String Decrisptor结构,描述符类型区分是通过索引来实现,具体代码实现: 首先肯定要保存静态的描述符本身: 数组首字节表示描述符总长度,即这个数组的长度(单字节,也就决定了描述符最大长度0xFF);下一字节固定0x03;后续全部是文字本身,注意是UNICODE编码,还是挺简单的,找规律就可以直接改了。 数据处理: 红框中的switch判断的值,就是前面提到的索引。除了语言描述符固定为0,其余都是自定义的。定义的位置: 贴出标准协议中的内容,设备描述符结构(部分):位置第14、15、16三个是索引值。 所以,演示中的,其实只有厂商、产品的描述,没有序列号。厂商、产品、序列号描述符的支持是可选的,不支持就在设备描述符中将其写0. |
|
|
|
只有小组成员才能发言,加入小组>>
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2589 浏览 2 评论
2128 浏览 1 评论
ch554g的板子准备烧录程序,用串口总是显示等待设备连接是为啥
993浏览 14评论
请问ch32v307用ch-link调试或者读写有什么特殊操作方法吗?
897浏览 13评论
Windows系统下如何确定COM口为CH340/CH341设备?
2206浏览 12评论
676浏览 12评论
CH32V307以太网接近满速后,几秒或几十秒后就死机怎么解决?
1952浏览 11评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 05:15 , Processed in 0.683352 second(s), Total 73, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号