fat32文件系统 数据还原

工具
WinHex19.6破解版
Win10

案例1.删除文件恢复

新建一个4g fat32分区的虚拟磁盘 盘符g
删除前 g盘下广告2.png
在这里插入图片描述

1.定位BPB
0bh起始偏移
在这里插入图片描述

查看BPB基本信息
在这里插入图片描述

可以看到一些关键字段
Bytes per sector 512
Sectors per cluster 8
Reserved sectors 8,250
Number of FATs 2
Sectors per FAT 8,163

2.定位数据区
数据区起始偏移为 (Reserved sectors + Number of FATs * Sectors per FAT)* Bytes per sector即(8250+2*8163)512=12582912转为hex C00000h或者直接跳转到8250+28163=24576扇区
数据区由簇组成(cluster)都有各自顺序编号
首簇为2
目录簇由多个目录项组成 每个目录项32字节
根目录簇里查找广告2.png的目录项

长文件目录项模板查看
在这里插入图片描述

短文件目录项模板查看 可以看到真实的文件尺寸大小62439
在这里插入图片描述

可以看到该文件所在首簇序号为6 (32-bit cluster #)
总簇数量 文件大小/(Sectors per clusterBytes per sector)=62439/(8512)=15.243896484375 所以总共分为16个簇

3.定位fat1(寻找文件簇链)
fat1中fat表项每个大小为4字节 从序号0开始 这里我们要寻找序号6开始的表项

fat1起始偏移为Reserved sectorsBytes per sector=8250512=407400h

在这里插入图片描述
可以看到刚好是连续的16个表项

4.重新回到数据区
定位连续簇号为6h-15h的数据块
簇号为6的数据区偏移为12582912(步骤2获得)+(6-2)Sectors per clusterBytes per sector=12599296=C04000h

直到12599296+(0x15-0x6 + 1)Sectors per clusterBytes per sector=12664832=C14000h

复制C04000h到C14000h上一个字节 到新文件 成功获得广告2.png的真实存储块

shift+Del永久删除后
重新上述步骤
1.BPR基本不变
2.数据区

可以发现长文件 短文件目录项第一个字节都是E5 (删除标记)
在这里插入图片描述
其他属性 类似文件创建日期时间 文件大小 起始簇号都不变
(注:其实起始簇号变化了 起始簇号的高两字节全部清零 只是刚好测试用例中起始高两字节原来就是零)

3.Fat1区
在这里插入图片描述
可以看到刚好是连续的16个表项都置为0了

4.此时我们假设文件簇链是连续的
选择簇号6h-15h数据块拷贝到文件 成功还原

参考文献
《数据恢复技术深度揭秘》

猜你喜欢

转载自blog.csdn.net/weixin_41548050/article/details/85700360