对于 U 盘,系统驱动并不止于设备的识别,它还要解析设备的文件系统。
设备一般就是让读哪儿就读哪儿。已经格式化和尚未格式化的设备,返回的读取结果显然是不同的。
有些安全 U 盘是要求访问权限的。那么系统要求读它的尚未取得访问权限的分区时,它会以各种策略来应对。其中一种就是,输出全 0 或全 F 的数据。
谢谢大佬的回复,这个是在GET MAX LUN以后,我看网上好多blog都说在GET MAX LUN之前,枚举就已经结束了,在GET MAX LUN命令后面还跟了几个read CAPACITY的命令,我现在迷惑的地方就是为什么主机会读如此多的0X00填充的包(也就是第二个图中所示的),为什么不少读点减少通信量,以及第一张图中表示的包,我的两个u盘抓的包都有,这个包的作用又是什么呢?您说的,主机会按照文件系统的架构读取必要的信息。设备会返回实际读取的数据,或出于某种权限限制返回特定数据。能不能说具体点呢,不太懂。谢谢