USB大容量存储BOT
+ -

BOT CBW和CSW数据例解析

2021-09-26 2328 0

读写数据抓包

读写数据抓包

USB传输中:每一个传输包含一笔或多笔事务,每一笔事务又包含一个、两个或三个信息包。
事务:Setup(设置)事务、IN(输入)事务、OUT(输出)事务
信息包:令牌信息包、数据信息包、联络信息包

传输
|——>事务——>令牌信息包+数据信息包+联络信息包
|——>事务——>令牌信息包+数据信息包+联络信息包
|——>事务——>令牌信息包+数据信息包+联络信息包

对于写数据:

1:OUTtxn 输出事务:输出 31 B 的 命令块包(CBW
2: OUTtxn 输出事务:输出 dCBWDataTransferLength B 的 数据
3: INTxn 输入事务:输入 13 B 的 命令传输状态包(CSW
对于写数据

对于读数据

4: OUTtxn 输出事务:输出 31 B 的 命令块包(CBW
5: INtxn 输入事务:输入 dCBWDataTransferLength B 的 数据
6: INTxn 输入事务:输入 13 B 的 命令传输状态包(CSW
对于读数据

CBW和CSW数据分析

如我们打开U盘时,会读取U盘的MBR信息:

55.2 31 OUT  55 53 42 43  a0 98 91 dc  00 10 00 00  80 00 0a 28  00 00 27 ab  98 00 00 08  00 00 00 00  00 00 00
55.1 4096 IN 4d 5a 90 00  03 00 00 00  04 00 00 00  ff ff 00 00  b8 00 00 00  00 00 00 00  40 00 00 00  00 00 00 00  MZ......................@....... 
13  IN     55 53 42 53  a0 98 91 dc  00 00 00 00  00

CBW内容如下:

  • dCBWSignature:55 53 42 43 //USBC
  • dCBWTag:a0 98 91 dc
  • dCBWDataTransferLength:00 10 00 00
  • bmCBWFlags:80
  • bCBWLUN:00
  • bCBWCBLength:0a
  • CBWCB[16]:28 00 00 27 ab 98 00 00 08 00 00 00 00 00 00 00

CSW内容如下:

  • dCSWSignature: 55 53 42 53
  • dCSWTag:ab 98 91 dc
  • dCSWDataResidue: 00 00 00 00
  • bCSWStatus:00
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

BOT 数据传输过程
按照USB规范,Bulk-Only 传输规范是系统也是通过默认管道(地址0 、端点 0 )进行枚举,枚举后重新分配地址,再次枚举。枚举后,实际工作仅仅使用批量( Bulk )端点传送数据 / 命令 / 状态,批量传输方式不受时间限制并能保证数据的完整性。在取得的端点描述符中包含了 Bulk-In 和......
BOT 命令块包CBW
CBW即Command Block Wrapper,命令块包)是从 USB 主机发送到设备的命令包,它由 31 个字节构成,其中包含的命令遵从接口描述表中的 bInterfaceSubClass 域所指定的命令集,一般采用 SCSI 传输命令集。 USB 设备从 CBW 中取出并执行相应命令,......
BOT 命令状态包CSW
CSW 应从包的边界开始,在传输了 13 个字节以后结束, CSW 的说明如下表:struct CSW{ DWORD dCSWSignature; // CSW的标识,固定值:53425355h (小端模式) DWORD dCSWTag; //主机发送的一个命令块标......
BOT CBWCSW数据例解析
读写数据抓包USB传输中:每一个传输包含一笔或多笔事务,每一笔事务又包含一个、两个或三个信息包。事务:Setup(设置)事务、IN(输入)事务、OUT(输出)事务信息包:令牌信息包、数据信息包、联络信息包传输|——>事务——>令牌信息包+数据信息包+联络信息包|——>事务——&......
BOT CBWCSW的校验
Bulk-Only Protocol传输是通过主机向设备发送CBW请求,设备响应CBW返回CSW响应。Bulk-Only Protocol传输开始是从设备复位(MASS_STORAGE_RESET)之后开始的,设备在接收到CBW请求和主机收到CSW回应后,是需要对CBWCSW进行拆包解析。CBW......
Windows10 x64基于BOT规范虚拟U盘调试批量端点返回CSW的问题
虚拟了这么多的USB设备,突然想着U盘还没有弄,那就搞一个吧。就当是为了自己学习,没准那天突然有这样的需求。所以说干就干。我们知道,虚拟U盘其实是两套规范的,一种是传统的BOT协议,另一种是UASP的。这里为了兼容性,也是为了学习方便,我们使用BOT规范来虚拟一个标准的U盘。通过UsbTree......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!