案例
随笔
知识
声音
其他
编者按
第一步 准备一个优盘
优盘,16GB,文件系统是NTFS,每个簇8个扇区,即每个簇4KB。把目标文件“工作情况.doc”考入优盘。该文件中的内容如图1所示。这个doc文档就是我们这个实验的目标文件。
▲图1 “工作情况.doc”最初的内容
该文件的大小是12KB,文件占用的存储空间为三个簇,幸运的是,这三个簇是连续的,簇号为37、38、39。如图2所示。我们把这三个簇导出镜像保存为:“37-38-39簇镜像.bin”。
▲图2 “工作情况.doc”所占用的簇链
第二步 打开word文件
打开一个word文件,会产生一个名为“~$工作情况.doc”的临时文件。其实,您打开任何一个word文件都会产生类似名称的临时文件。但这个文件很小,并不能有效涵盖文件的内容。试图从这个临时文件中恢复文件内容,不太现实。该临时文件存储在6291548扇区,如图3所示。
▲图3 ~$工作情况.doc的存储情况
第三步 修改doc文件内容
为了说明问题,我们修改尽量少的内容,笔者把文中的“广西”二字,修改为“海南”。然后保存。此时,我们再看“工作情况.doc”的内容情况,如图4所示。
▲图4 修改后的”工作情况.doc“内容
我们再来看看修改后的文件,在磁盘中的存储情况。如图5所示。
▲图4 修改后的“工作情况.doc”所占用的簇
说到这里,大家可能会问,原来的37、38、39三个簇现在是个什么样子呢?实验继续进行。
第四步 提取37、38、39三个簇
把37、38、39这三个簇做一个镜像出来,保存为“37-38-39簇镜像2.bin”,与文件修改之前这三个簇的镜像“37-38-39簇镜像.bin”做一个对比,看一下这两个镜像文件的哈希值如何?如图5所示。
▲图5 修改前后三个簇的内容比较
▲图6 37-38-39簇镜像2.bin的内容
但此时,危险也同时出现了,原有的簇(37、38、39),此时已经变成了“未分配簇”。在后续的时间里,这些“未分配簇”将极有可能被快速分配给其他新文件,一旦被覆盖,将再无恢复的可能。还有更重要的一个原因,大多数doc文件,其占用的簇都不是连续的。当簇链丢失后,鬼才知道原来的簇链是什么?
第五步 回答临时文件的问题
实验完毕。
【编者注】第二种验证方法更为精准,只是会用到反汇编和类型库提取等,相对麻烦一点。等有时间的时候,笔者再贴出来。结论与第一种方法类似。