0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB软件抓包分析工具之二:UsbTreeView大理段氏一阳指

嵌入式USB开发 2023-04-26 18:50 次阅读

本文转自公众号,欢迎关注

USB软件抓包分析工具之二:UsbTreeView大理段氏一阳指 (qq.com)

介绍

UsbTreeViewUSB设备树查看器,是基于Windows驱动程序开发工具包中的“USBView”示例应用程序构建的,其源码可以在github找到,https://github.com/Microsoft/Windows-driver-samples/tree/main/usb/usbview,
所以也可以自己修改构建开发新功能,可以参考https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/usbview?redirectedfrom=MSDN
它可以list设备信息,对于USB设备可以列出描述符并进行解析,甚至可以提示错误,这一点非常非常有用,甚至很多时候可以在调试过程中起到关键作用, 招式太多往往限制了发挥比如慕容复, 趁手的家伙事也是有一件就够,好比段誉的六脉神剑,关键时候能救命。

官网

https://www.uwe-sieber.de/usbtreeview_e.html

使用


进入官网下在最新版本,安全软件可能会告警,信任即可

pYYBAGRI_1qANoMMAAC_C2SKyuY136.png

解压下载的文件UsbTreeView_x64.zip即可
UsbTreeView.txt是使用说明和版本记录文件。
双击打开UsbTreeView.exe即可使用,真正的轻量绿色。

也可以命令行使用,不带参数则打开GUI程序,否则命令行方式运行。


Usage:
Without parameters it starts with a GUI.

Params:
UsbTreeView [/R=filename] [/X=filename] [/O=filename] [/L[n]=logfile]

/R=filename    write (silently) a text report to filename
/X=filename    write (silently) an XML report to filename
/O=filename    open an XML report from filename
/L[n]=logfile  write a logfile for debugging, helpful in case of crash or hang (causes slowdown);
              n is the optional loglevel, 0..5, default is 3; sample: /L4=C:tempUsbTreeView.log

GUI界面如下

poYBAGRI_32AcKAmAAHiA9hGhxs069.png

没有什么花哨的,打开对应的USB设备,直奔主题,右边显示对应的描述符和其解析。
File菜单下可以选择导出报告内容

pYYBAGRI_1qAfyNZAAHqvkJNohY243.png

Options下有一些配置可以看一下

poYBAGRI_1qAaR_KAAIDGXW3qsc380.png

整体来说这个工具很单纯,但是很有用,即分析描述符,打开就能用,无需任何操作配置.

案例


比如在描述符中经常需要写各种总长,往往人工会写错
比如这里就会直接提示出错的地方,一下子找到症结,否则需要人工去检查,不知道要检查到什么时候去了。

pYYBAGRI_4mAR6mEAAC7GsYVXbg036.png

改完之后可以看到没有了错误

poYBAGRI_1qAF5erAADBg2BSy_8800.png

总结


描述符是USB的灵魂,在开发中描述符返回正确了,就基本看到了胜利的曙光。往往很多USB设备的开发都是描述符有一点点不对,比如有一个bit不对就会导致整个功能不对,如果没有好的分析工具去抓取描述符进行分析,那么可能将是无穷的黑暗,怎么尝试都可能不对。而UsbTreeView可以不需要硬件USB分析仪,抓取描述符,并进行解析,提示错误,这好比一阳指没有花哨的招式,就一招,针对一个功能,一阵见血,具备精准攻击,治疗内伤之功。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    59

    文章

    7438

    浏览量

    258264
收藏 人收藏

    评论

    相关推荐

    CC2530 packet sniffer 为什么不到,?

    我用packet sniffer 软件,芯片用的是CC2530,想协调器给终端设备发送的信道和pandid值,但是抓取不到,不知道为什么?只有MAXC层有数据,NWK层和应用层都
    发表于 03-14 10:53

    WIZnet芯片通讯时怎么?

    借助于“可以的交换机”,这种交换机多数是手产品,而且是10M的网络,比如TP-LINK TL-HP5MU。把芯片和计算机的网线分别
    发表于 03-13 11:32

    Packet Sniffer遇到的问题

            我用的是CCDebuger +CC2531 USB Dongle,按照TI官方文档的顺序进行,每次出来的数据基本上全都是错的,按用户指南说的是数据解析错误,但是具
    发表于 06-01 02:30

    加密后分析的问题?

    请问下,我的zigbee设备全部都开启了加密, 使用软件的时候,数据都是加密的,我应该
    发表于 06-01 14:22

    请问怎样分析软件的数据?具体每条数据的作用是什么?

    本帖最后由 只耳朵怪 于 2018-6-3 11:36 编辑 怎样分析软件的数据,分析
    发表于 06-01 13:32

    求推荐开发调试USB工具

    如题,最近需要使用USB,求推荐工具
    发表于 01-24 07:06

    求大神教软件

    求大神教软件,有偿
    发表于 05-22 18:17

    请问蓝牙USB Dongle是否可以蓝牙2.0数据

    各位社区朋友, 现在蓝牙USB Dongle可以蓝牙4.0数据,是否可以2.0数据呢? 有没有只
    发表于 09-26 10:32

    cc2640的simpleblebroadcaster例程不到

    我把simpleblebroadcaster例程改成5*5封装的配置编译烧写到cc2640上但是我用工具u*** dongle,不到,为什么?
    发表于 03-09 09:36

    wireshark数据分析问题

    用网络调试助手作为Tcp Server给STM32F429发送数据,每次传输完21845bytes后,就出现问题。用WireShark的数据有些不太理解。上图为用串口调试助手调试后的信息,每次传输到21846bytes就接收不到了。以上为网络
    发表于 04-08 04:35

    空口方式和wireshank分析工具使用介绍

    主要介绍下最近使用中感觉很万能的空口方式和wireshank分析工具使用;目的:抓取各种设备网络通信过程中数据,定位并
    发表于 01-18 09:11

    MCU_Wireshark USB的过程是怎样的?

    MCU_Wireshark USB的过程是怎样的?
    发表于 02-11 07:38

    请问BLE-Dongle是否支持协议分析?请问怎么进行协议分析

    如题,请问贵司的BLE-Dongle是否支持协议分析?请问怎么进行协议分析
    发表于 09-07 07:12

    基于ART-Pi与SX1302实现的lora-pkt-sniffer工具设计

    、lora-pkt-sniffer软件包等实现的LoRa Packet Sniffer工具。lora-pkt-sniffer工具可用
    发表于 09-28 11:32

    为什么SPI逻辑分析正常但revbuf值不正确呢?

    SPI 逻辑分析正常,revbuf值不正确(第次revbuf值正确,再进就不对了)
    发表于 03-06 09:48