不拆优盘,拆迁就好了。
分区引导扇区
上一篇,我们从优盘的分区引导扇区得知
- 保留扇区大小为0xD80扇区
- FAT个数为0x2
- 一个FAT表大小为0x3940扇区
根目录
因为保留扇区、FAT表和根目录是挨在一起的,所以从分区引导扇区开始,跳过前两个,就找到了第三个。
- 已知
- 分区引导扇区地址=0x4000(前面的文章算的)
- 保留扇区大小=0xD80扇区
- FAT个数=2
- 一个FAT表大小=0x3940扇区
- 扇区大小=512字节
- 保留扇区、FAT表和根目录是挨在一起的
- 求
根目录地址 - 解
即下图中的Offset。
文件项
上图中,每个红框中是一个文件项,一个文件项记录了文件的文件名、大小、起始簇、创建时间、修改时间等元数据。文件项根据文件名长短有两种,分别是短文件项和长文件项。
短文件项
上图中的0x1004020、0x10040E0处就是短文件项。如果一个文件的名字(不包括后缀)不超过8个字节,后缀也不长的话,它的元数据就会是一个短文件项。也就是说,一个短文件项存储的文件名的字符数是有限的。
长文件项
上图中的0x1004040、0x1004100处就是长文件项,看右侧的字符,很明显它们的名字比较长,所以先存了个截断的名字(例如0x10040C0),然后向上依次以某种格式存储unicode格式的文件名(例如0x10040A0、0x1004080、0x1004060、0x1004040)。
根目录本身就是个目录,可以从以上介绍看出,目录也是有内容的,就是目录下文件和目录的文件项。
