用WinHex软件解析FAT32文件系统

用WinHex软件解析FAT32文件系统

准备工作:

将一个U盘格式化为FAT32格式,在U盘内创建几个文件,最好是TXT文档,其中至少有一个是长文件(命名较长)。

补充知识:

短文件名表示

用WinHex软件解析FAT32文件系统_第1张图片

长文件名表示

用WinHex软件解析FAT32文件系统_第2张图片

当一个文件名为长文件名时,会由几个长文件名表示法和一个缩略名的短文间名表示,并且其文件大小以及首簇号等信息存放在短文件内

开始解析

(1)U盘信息:

用WinHex软件解析FAT32文件系统_第3张图片

保留扇区: 2226 2226 2226;文件目录首簇号: 2 2 2;FAT表大小 : 15271 15271 15271; 簇大小: 8 8 8

(2)U盘DBR:

用WinHex软件解析FAT32文件系统_第4张图片

FAT32分区上DBR中各部分划分位置

偏移字节 字段长度/ B 字段名
0x00 3 跳转指令
0x03 8 厂商标志与OS版本号
0x0B 53 BPB
0x40 26 扩展BPB
0x5A 420 引导程序代码
0x01FE 2 有效结束标志

(3)跳转 2226 2226 2226个扇区到FAT表1:

FAT表1

(4)跳转 15271 15271 15271个扇区到FAT表2:

FAT表2

(5)再跳转 15271 15271 15271个扇区到文件目录表:

用WinHex软件解析FAT32文件系统_第5张图片

(6)U盘根目录文件:

用WinHex软件解析FAT32文件系统_第6张图片

(7)解析长文件 A L o n g L o n g T e s t T x t F i l e . T x t A Long Long Test Txt File.Txt ALongLongTestTxtFile.Txt

用WinHex软件解析FAT32文件系统_第7张图片

长文件的缩写名(短文件)看出文件首簇号为: 00000007 00 00 00 07 00000007
大小为 000040 B E = 16574 B y t e s 00 00 40 BE =16574 Bytes 000040BE=16574Bytes
推测占的簇数为 16574 / 4096 = 4.04 > 4 16574/4096 =4.04>4 16574/4096=4.04>4 故需要5个簇存放
目录表首簇号为 2 2 2

(8)从目录表跳转 7 − 2 = 5 7-2=5 72=5个簇,即 5 X 8 = 40 5 X 8=40 5X8=40个扇区到达文件位置:

用WinHex软件解析FAT32文件系统_第8张图片

(9)在FAT表中找出簇号链:
从FAT表跳转 7 X 4 = 28 b y t e s 7 X 4 =28 bytes 7X4=28bytes找到首簇号

这里写图片描述

得到簇号链 第七个簇内容为 00000008 00 00 00 08 00000008 ,第八个簇内容是 00000009 — — > 0000000 A — — > 0000000 B — — > F F F F F F 0 F 00 00 00 09——>00 00 00 0A——>00 00 00 0B——>FF FF FF 0F 00000009>0000000A>0000000B>FFFFFF0F与之前推测相符合
PS:在FAT32系统中FAT表中每个簇占四个字节

文献参考:《计算机病毒与反病毒技术》2006-6-1清华大学出版社出版,作者:张仁斌,李钢,侯整风

你可能感兴趣的:(信息安全_计算机病毒原理)