Bootstrap

对U盘扩容的一次分析及实践

对U盘扩容的一次分析及实践

背景:曾经的一个盘(64GB),不知为什么存到大约16个G左右就什么也写不进去了。于是,就有了这篇文章。(下图是我的结果)

扩容盘是什么?能用吗?

扩容盘是指通过量产,修改主控中的信息,从而使得其被电脑识别为更大容量的U盘。扩容盘虽然能用,但是有数据丢失的风险(特别是在存满了的时候),这是因为,虽然电脑上识别有对应的内存,然而对应的地址却在Flash里根本不存在!当真是空间被写满了,多出来的数据就无法再存入设备,自然就会出现丢失的情况。
然而最糟糕的是,有时候即便没有存满,仍会出现数据丢失!!

扩容盘是怎么做的?

U盘的结构
U盘由主控和闪存(Flash)组成。其中,闪存负责存储数据,他的存储空间决定着U盘的容量。
主控则负责存储U盘的信息(如容量,厂商信息等),当设备接入电脑后,电脑会读取主控中的数据,识别出设备,同时为设备新增盘符,并在资源管理器中显示。
然而,电脑并不会读取闪存的容量,只会从主控中读取容量信息,也就是,只要修改了主控中的容量,就可以实现“修改”U盘的“容量”。
量产工具就是用于修改主控信息的软件,通过量产,可以重新写入主控,从而实现造假的目的。

如何鉴别扩容盘?

既然只修改了主控中的容量,闪存的容量并没有变化,那么,只要读取闪存的容量,就可以得知真实容量。
那么,怎么读取闪存的容量呢?
这时,可以借助一些第三方软件来帮忙(比如ValiDrive
这类软件虽然各种各样,但原理却相差不大:随机写入地址或者暴力填充全盘。
同时,由于扩容盘闪存地址有大量的不存在地址,因此写入速度较慢,同时会有数据丢失
如果再使用时发现数据经常无故丢失,则很有可能是扩容的!
同时,扩容盘使用的芯片较为廉价(这也意味着U盘容易损坏,因此如售价异常低(如128GB ¥20),则也极有可能被扩容过。

;