用WinHex软件解析FAT32文件系统
准备工作:
将一个U盘格式化为FAT32格式,在U盘内创建几个文件,最好是TXT文档,其中至少有一个是长文件(命名较长)。
补充知识:
短文件名表示
长文件名表示
当一个文件名为长文件名时,会由几个长文件名表示法和一个缩略名的短文间名表示,并且其文件大小以及首簇号等信息存放在短文件内
开始解析
(1)U盘信息:
保留扇区:;文件目录首簇号:;FAT表大小 :; 簇大小:
(2)U盘DBR:
FAT32分区上DBR中各部分划分位置
| 偏移字节 | 字段长度/ B | 字段名 |
|---|---|---|
| 0x00 | 3 | 跳转指令 |
| 0x03 | 8 | 厂商标志与OS版本号 |
| 0x0B | 53 | BPB |
| 0x40 | 26 | 扩展BPB |
| 0x5A | 420 | 引导程序代码 |
| 0x01FE | 2 | 有效结束标志 |
(3)跳转个扇区到FAT表1:
(4)跳转个扇区到FAT表2:
(5)再跳转个扇区到文件目录表:
(6)U盘根目录文件:
(7)解析长文件
长文件的缩写名(短文件)看出文件首簇号为:
大小为
推测占的簇数为 故需要5个簇存放
目录表首簇号为
(8)从目录表跳转个簇,即个扇区到达文件位置:
(9)在FAT表中找出簇号链:
从FAT表跳转找到首簇号
得到簇号链 第七个簇内容为 ,第八个簇内容是与之前推测相符合
PS:在FAT32系统中FAT表中每个簇占四个字节
文献参考:《计算机病毒与反病毒技术》2006-6-1清华大学出版社出版,作者:张仁斌,李钢,侯整风
浙公网安备 33010602011771号