文件删除前的底层分析
首先来从文件系统底层了解一下FAT16文件系统中文件各部分结构的管理。
现在以FAT16分区中的文件“kuihua.jpg”为例,讲解文件的各部分结构,文件如图4-254所示。
图4-254 FAT16分区中的文件“kuihua.jpg”
这是一个图片文件,打开该文件其画面如图4-255所示。
图4-255 文件“kuihua.jpg”的画面
该文件在FAT16文件系统中由三部分结构进行管理,分别为文件目录项、FAT表和数据区。文件目录项的内容如图4-256所示。
图4-256 文件“kuihua.jpg”的文件目录项
从目录项中可看出该文件开始于02H(十进制值为2)簇,文件大小为03BD00H(十进制值为244 992)字节,图4-257是该文件在FAT表中的簇链。
图4-257 文件“kuihua.jpg”在FAT表中的簇链
FAT16文件系统的FAT表是16位的,每个FAT项占用2字节,可以看出该文件是连续存放的,共占用4个簇。
然后再用WinHex跳转到分区的2号簇,其部分内容如图4-258所示。
图4-258 2号簇的部分内容
从2号簇所在扇区开始,往后连续的244 992(“kuihua.jpg”文件的大小)字节,就是这个文件的所有数据。
文件删除后的底层分析
为了学习文件删除后恢复的方法,还需要从文件系统级别了解一下文件删除时在FAT16文件系统中发生的变化。
查看了“kuihua.jpg”文件的各部分结构后,现在把此文件彻底删除,然后再对其各部分结构进行分析,并讲解恢复的思路。
首先将文件“kuihua.jpg”删除(彻底删除,不是放入回收站),如图4-259所示。
图4-259 删除文件“kuihua.jpg”
“kuihua.jpg”文件删除后其目录项如图4-260所示。
图4-260 “kuihua.jpg”文件删除后的目录项
从图4-260中可以看出“kuihua.jpg”文件目录项的第一个字节已经被改为“E5”了,而文件名的其他字节没有变化,文件开始簇号02H(十进制值为2)没有改变,文件大小03BD00H(十进制值为244 992)字节也没有改变。
“kuihua.jpg”文件删除后其FAT表的簇链如图4-261所示。
图4-261 “kuihua.jpg”文件删除后其FAT表的簇链
很明显“kuihua.jpg”文件删除后其FAT表的簇链已经全部清零。下面再来看数据区,跳转到“kuihua.jpg”文件的开始位置:2号簇,其部分内容如图4-262所示。
图4-262 “kuihua.jpg”文件的部分数据内容
从图4-262中看,数据区的内容并没有改变。
文件删除后的恢复
将这个被删除的文件的数据区的内容全部选中,并另存为一个新文件,如图4-263所示。
图4-263 将“kuihua.jpg”文件的数据区选中并另存
将该文件的数据区中这些十六进制值保存到D盘根目录下,并命名为“123.jpg”。
保存后在D盘根目录下可以看到“123.jpg”文件,如图4-264所示。
图4-264 D盘根目录下的“123.jpg”文件
这个文件就是用WinHex从FAT16分区中恢复出来的被删除的“kuihua.jpg”文件的数据区的内容,双击打开这个文件,可以看到如图4-265所示的图片。
图4-265 被恢复出来的文件打开后的画面
很明显,这个文件的画面就是被删除的“kuihua.jpg”文件,以上的过程也就是恢复被删除的文件的过程。
另外,删除的文件也可以用数据恢复软件,如FinalData、EasyRecovery、R-Studio等,这些工具使用方法很简单,读者可以自行尝试。