文件删除前的底层分析

首先再从文件系统底层了解一下NTFS文件系统中文件各部分结构的管理。

现在以NTFS分区中的两个文件“huaban.jpg”和“sjhf.txt”为例,讲解文件的各部分结构,文件如图4-477所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-477 NTFS分区中的文件

“huaban.jpg”是一个图片文件,打开该文件其画面如4-478所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-478 文件“huaban.jpg”的画面

该文件在NTFS文件系统中由文件记录进行管理,文件记录占用两个扇区,其文件记录第一个扇区的内容如图4-479所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-479 文件“huaban.jpg”的文件记录

该文件的文件名在30H属性中,如图4-480所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-480 文件“huaban.jpg”在30H属性中的文件名

文件的数据是由80H属性管理的,“huaban.jpg”的80H属性如图4-481所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-481 “huaban.jpg”的80H属性

从80H属性中可以看出文件“huaban.jpg”的属性体是非常驻的,文件大小为05E2ADH(十进制值为385 709)字节;其Run List中只有一个数据流,所以文件是连续的,数据的开始簇号为0577E2H(十进制值为358 370);用WinHex跳转到358 370号簇,内容如图4-482所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-482 358 370号簇的内容

从358 370号簇所在扇区开始,往后连续的385 709(“huaban.jpg”文件的大小)字节,就是这个文件的所有数据。

现在再以NTFS分区中的另一个文件“sjhf.txt”为例,讲解文件的各部分结构。这是一个文本文件,打开后内容如图4-483所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-483 文件“sjhf.txt”的内容

该文件在NTFS文件系统中由文件记录进行管理,文件记录占用两个扇区,其文件记录第一个扇区的内容如图4-484所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-484 文件“sjhf.txt”的文件记录

该文件的文件名在30H属性中,如图4-485所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-485 文件“sjhf.txt”在30H属性中的文件名

文件的数据是由80H属性管理的,“sjhf.txt”的80H属性如图4-486所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-486 “sjhf.txt”的80H属性

从80H属性中可以看出文件“sjhf.txt”的属性体是常驻的,属性体开始于该属性的18H偏移处,属性体大小为4AH(十进制值为74)字节,其内容如图4-487所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-487 文件“sjhf.txt”的属性体

80H属性为数据属性,所以其属性体就是这个文件的数据。

文件删除后的底层分析

为了了解文件删除后恢复的方法,先从文件系统级别了解一下文件删除时在NTFS文件系统中发生的变化。

查看了“huaban.jpg”和“sjhf.txt”文件的各部分结构后,现在把此文件彻底删除(不是放入回收站),然后再对其各部分结构进行分析,并讲解恢复的思路。

首先讲解文件“huaban.jpg”。将文件“huaban.jpg”删除,删除后其文件记录如图4-488所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-488 “huaban.jpg”文件删除后的文件记录

从图4-488中可以看出“huaban.jpg”的文件记录的状态字节已经由01(文件在使用中)变为00(文件被删除),而30H属性中的文件名、80H属性中的文件大小、Run List等重要信息都没有任何改变。

根据Run List中的信息,跳转到“huaban.jpg”文件的开始位置358 370号簇,其内容如图4-489所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-489 “huaban.jpg”文件的数据内容

从图4-489中看,数据区的内容并没有改变。

再来讲解文件“sjhf.txt”的删除过程。首先将文件“sjhf.txt”删除。

删除后其文件记录如图4-490所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-490 “sjhf.txt”文件删除后的文件记录

从图4-490中可以看出“sjhf.txt”的文件记录的状态字节已经由01(文件在使用中)变为00(文件被删除),而30H属性中的文件名、80H属性中的属性头、属性体等重要信息都没有任何改变。

根据80H属性中的属性头信息,找到属性体部分,其内容如图4-491所示。

从图4-491中看,属性体(也就是文件的内容)并没有改变。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-491 “sjhf.txt”文件的数据内容

文件删除后的恢复

将被删除的“huaban.jpg”文件的数据区的内容全部选中,并另存为一个新文件,如图4-492所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-492 将“huaban.jpg”文件的数据区选中并另存

将该文件的数据区中这些十六进制值保存到D盘根目录下,并命名为“123.jpg”。

保存后在D盘根目录下可以看到“123.jpg”文件,如图4-493所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-493 D盘根目录下的“123.jpg”文件

这个文件就是用WinHex从NTFS分区中恢复出来的被删除的“huaban.jpg”文件的数据区的内容。双击打开这个文件,可以看到如图4-494所示的图片。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-494 被恢复出来的文件打开后的画面

很明显,这个文件的画面就是被删除的“huaban.jpg”文件。以上的过程也就是80H属性为非常驻的文件被删除后的恢复过程。

80H属性为常驻的文件删除后更容易恢复,就如上面讲解的“sjhf.txt”,文件内容就在80H属性中,所以只要把80H属性的属性体选中另存就可以了,如图4-495所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-495 另存“sjhf.txt”文件的数据

将选中的这些字节保存为一个txt文件,打开后就是原来的“sjhf.txt”文件,如图4-496所示。

NTFS文件系统删除文件及其恢复分析-数据恢复迷

图4-496 恢复出来的“sjhf.txt”文件