FAT32下文件的删除与恢复

发布于 2019-04-03  10.4k 次阅读


打开磁盘分析MBR,第一块磁盘分区在80H:128扇区位置

MBR

现在来到128扇区位置,也就是DBR的位置,现在来记录一下几个关键数据
每扇区字节数:0200H:512
每簇扇区数:08H:8
保留扇区数:045EH:1118
FAT的大小:1DD1H:7633

DBR

计算目录项的位置:128+1118+7633*2=16512
来到16512扇区,在目录项中找到被删除的文件所在的文件夹的目录项

文件夹目录项位置

文件夹起始簇号:000308DDH:198877
计算文件夹所在的扇区:16512+(198877-2)*8=1607512
找到被删除的文件的目录项:可以看出E5被删除的标记,高十六位的簇号被清零

被删除文件的目录项

看到上面两个文件高十六位簇号都为0003H,推出此文件高十六位簇号也可能为0003H
完整起始簇号应该为00033A95H:211605(对应为16512+211603*8=1709336扇区)
文件大小:0010A673H:1091187(1091187/512/8=266.40=267簇)
如果文件物理储存连续,结束簇号应为211605+267-1=211871(
对应为(16512+211869*8)+7=1711464+7=1711471扇区)

找到对应起始结束扇区,复制选块到新文件,修改扩展名,不出意外的话(非连续储存以及覆盖的情况)可以看到文件已经恢复啦!

文件开始扇区
文件结束扇区,,,sorry,我找错啦
保存时把后缀改为目录项的扩展名就行啦

emmm,最后一张恢复成功对比的图一直找不到,然后我又用WinHex查看了一下,发现最后一张图没截,23333333
我一直纳闷为什么恢复出来的和原文件不一样大,写到现在终于找到了原因,,,
好啦,到此结束啦


走在未知的道路上,不许停也不能回头