<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 
NTFS 文件系统下的删除 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1. 文件删除

G 盘用的 NTFS 文件系统,

 

G 盘下有一个文件夹 typ,

 

typ 文件夹内有一个文件夹 ntfsdel 和两个图片文件 tupian1 tupian2. 

 

WINHEX 查看 MFT 本身的位图属性,根据数据流属性,可转到该簇:

 

WINHEX 打开该盘,并转到 TYP 文件夹的 MFT 表项,如下图 :
从该 MFT 中的属性头中的偏移 0x16-17 两字节中可以看到该值为 0x03 表示该文件为正在使用的目录 ,
可以从该文件名属性中偏移 0X18-1F 可以看出该文件的父目录参考号 0x05 00 00 00 00 00 05 00 ,其中前 4 个字节表示父目录参考号,此处为 0x05 表示该目录为根目录,后两个字节为保留,最后两个字节为父目录更新序列号。

 

MFT 项中还包括索引根 0x90 属性 :
从该 0x 90 属性中可以看到有 3 个索引项分别是 :ntfsdel 文件夹 , tupian1.jpg , tupian2.jpg 文件 . 从索引项中可以看出文件夹 ntfsdel 的父目录参考号为 0x 50 00 00 00, 该文件所在 MFT 的文件参考号为 0x 51 00 00 00 ,tupian1.jpg 的父目录参考号为 0x 50 00 00 00 该文件所在 MFT 的文件参考号为 0x 76 00 00 00, tupian2.jpg 的父目录参考号为 0x 50 00 00 00 该文件所在 MFT 的文件参考号为 0x 77 00 00 00.
转到 MFT 文件参考号 tupian1  0x 76 00 00 00 转十进制为 118. 即转到 118 号文件记录 :
 
可以看到该 MFT 文件记录描述的就是 tupian1.jpg 文件 . 从属性头偏移 0x16-17 值为 0x 01 00. 表示该文件为正常的文件 , MFT 包括 0x10 00 00 00 标准信息属性 ,0x30 00 00 00 文件名属性 ,0x80 00 00 00 数据流属性 , 从相对数据流属性偏移 0x08 值为 0x01 表示非常驻属性 , 数据流运行起始偏移 0x20-21 值为 0x40 00, 所以可以看出数据流运行只有一个 , 簇流项内容为 31 2B 47 F3 01, 表示簇流起始位置为 127815  (0x47 f3 01 转十进制 ) 号簇 , 簇流长度为 43 个簇 . 转到该文件内容起始簇号 , 文件起始扇区部分内容如下 :

 

再转到 0x 77 00 00 00 号文件 , 同样的方法可以分析 tupian2.jpg 文件 . 就不再分析 ,MFT 项如下图 ,:

现在我们将文件 tupian1.jpg 彻底删除看各个属性的变化 .

 

先看 tupian2.jpg 对应的 MFT :
可以看出偏移 0x16-17 字节被改为 0x00 00 表示删除的文件。其它无变化。再转到 MFT 对应的位图文件所在簇号:
0xBF 转二进制为 10111111 ,可以看出位图中的 118 MFT 表项由原来的使用状态变化为空闲状态,如果这时有文件写入马上就会占用该 MFT 表项,从而破坏原来的 MFT
删除后数据区也不会有任何变化 :

2. 文件夹删除

ntfsdel 文件夹下有 winhex15.3 文件夹 ,winhex15.3 文件夹下有如下图文件 :

 

先转到 ntfsdel 对应的 MFT 表项 , 如下图,可从 0x90 索引根属性中看到有一个索引项对应 winhex15.3, winhex15.3 对应的索引项中可以看到 winhex15.3 所在的 MFT 的文件参考号为 0x52 00 00 00.

 

再转到 MFT 的文件参考号 0x52 00 00 00: