首页 > 范文大全 > 正文

拼接数据碎片

开篇:润墨网以专业的文秘视角,为您筛选了一篇拼接数据碎片范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

一般的数据恢复软件无法将已经“碎片化”的文件复原,而采用更先进的数据恢复方式――Smart Carving(智能挖掘)技术已经可以完成“碎片化”图片的恢复工作。

数据恢复技术与考古学颇有几分相似之处:它们的目标都是让已经遗失的东西重见天日。如果可参考的元数据信息充足,数据恢复就可以简单快速地实现;一旦可参考的信息也丢失了,通常的数据恢复软件就无能为力了。本文将为大家介绍采用Smart Carving技术的数据恢复软件,除了进行常规的数据存储结构分析外,它还会分析数据本身的内容,从而跨越一般的数据恢复软件无法恢复已经“碎片化”文件的障碍。

在进一步讨论Smart Carving技术的工作原理之前,有必要先了解一下一般数据恢复软件的工作原理。

初级恢复:

读取索引表中的元数据

文件系统是操作系统在硬盘上组织数据的方法,NTFS是目前微软Windows操作系统所采用的主要文件系统。一般在NTFS文件系统下,数据恢复软件在扫描已删除的文件时,首先会检查主文件表(Master File Table,简称MFT),因为主文件表中包含了硬盘分区内所有文件的索引,包括文件名、时间戳等元数据。数据恢复软件只需要扫描主文件表里的文件元数据,搜寻到两个标记“文件是否已被删除”的特殊字节。如果这两个字节的值都为0,则说明这个文件已经被“彻底”删除(不在回收站中)。然后,数据恢复软件利用主文件表中的文件元数据,恢复这个文件。

元数据中的最重要的部分是数据流位置标记(Data Run),它为数据恢复软件提供了两条线索:该文件所占用的起始簇地址和该文件总共占用的簇数量(簇是指系统可分配的用来保存文件的最小逻辑磁盘空间)。而且,如果数据流位置标记之后紧邻那个表示文件是否被删除的字节值不等于0,恢复工作就会变得复杂起来,因为这说明该文件已经“碎片化”了,也就是说这个文件所占用的磁盘簇不再连续,换言之,就相当于文件被分割开来,分别存放在相互间断的几段簇上。遇到这种情况,我们就需要采用更高级的数据恢复技术了。

常规的数据恢复软件可以应付简单的情景――文件尚未碎片化,且元数据保存完整,通俗地说,就是当你的文件刚刚被删除时,只需要利用常规的数据恢复软件就可以恢复。但是如果你的文件被删除后已经过了很长时间,而且主文件表中的元数据信息也没有了,那么恢复文件的难度就增大了。在这样的情况下,应该如何恢复文件呢?接下来CHIP将为大家带来更深入的分析。

中级恢复:

通过“签名”识别文件

如果一个文件在主文件表中的元数据被打上了“已删除”标记,那么其他文件就可以覆盖它的位置。但是究竟什么时候会覆盖,则取决于整个硬盘的工作负荷,也就是写入硬盘文件的频繁程度。另外,NTFS文件系统会在主文件表附近预留一个特定区域,用来减少主文件表中的碎片,保证磁盘文件的快速读写。默认情况下,这一区域占整个分区大小的12.5%。

如果某分区被格式化,那么它的主文件表也会丢失,就是说格式化意味着Windows系统将为该分区生成一个新的主文件表。但是物理上说,旧的主文件表依然在硬盘上,只是没有作用了。一些数据恢复软件(比如TestDisk)可以搜索被删除的分区,找回旧的主文件表。但是需要提醒大家的是,格式化分区之后经过的时间越长,旧的主文件表被完全或者部分覆盖的可能性就越大,找回文件的可能性也就越小。

如果主文件表丢失或者被完全删除,数据恢复工具就需要通过扫描原始数据中的标记信息来识别文件了。虽然文件的格式各不相同,既有JPEG格式的图片,也有DOC格式的文档,但是所有文件在磁盘上的存储结构都是相同的:先是包含文件格式等属性的“文件头”,接下来是包含文件内容的信息流,最后通过一个结尾标志,表示文件结束。

举例来说,由于JPEG文件的头和尾包含了特殊的字串,数据恢复软件就可以通过这些字串标记出文件的起始和结束位置,从而识别出整个JPEG图像文件。每一个JPEG图像文件都是由FFD8开头,以FFD9结尾,文件格式可以通过JFIF(JPEG File Interchange Format,JPEG文件交换格式)字串来识别。注意:严格地说,JPEG只是一种图片有损压缩方法,由此方法压缩的图片常使用“.jpg”作为文件扩展名。

高级恢复:通过Smart Carving恢复碎片化文件

Smart Carving技术是由纽约大学理工学院开发的,目前只有数据恢复软件Adroit Photo Recovery采用了这项先进的技术。利用Smart Carving技术可以恢复已经“碎片化”的文件,由于采用该技术的Adroit Photo Recovery需要更深入地分析文件系统,所以扫描过程所消耗的时间也比一般的数据恢复软件要长得多。如果磁盘分区的主文件表丢失,而且文件已经“碎片化”,那么Adroit Photo Recovery就需要直接找回文件的数据流信息,可利用的唯一线索就是文件的起始和结束位置以及簇的大小――通常在超过2GB的NTFS文件系统分区中,默认簇的大小为4KB。

理论上说,每个4KB的簇都可以成为某个文件的碎片,但是事实上却不是这样的,Simson Garfinkel测试了324个不同碎片化程度的旧硬盘后得出结论:不同格式文件的碎片化程度都是有限的。在NTFS文件系统下,小文件通常只需要被分为两个碎片来存储,而像JPEG图片这样的大文件通常分为3个以上的碎片存储,超过20个碎片的文件很少见。而且碎片在磁盘上的位置通常都是相临的:超过70%的情况下,下一个碎片处在相邻的1、2或者4个簇之内。Smart Carving技术考虑到了这些因素的影响,大大减少了搜索和恢复碎片化文档所需的时间。

采用Smart Carving技术的数据恢复软件,第一步要“重建”所有非碎片化文件,从而减少需要深入扫描的簇的数量。第二步,它需要找到已经“碎片化”文件的“头文件”,然后读取后继簇的数据内容,计算它们是否属于同一个文件,这样进行下去,直到找回第一个碎片。当我们使用中级恢复中的方法无法找到一个JPEG文档的完整签名(包括文件的起始和结束位置以及格式标记等)时,就可以通过Smart Carving技术来恢复文件,但是这种技术只能支持几种特定类型的文件。除了JPEG格式的照片以外,Adroit Photo Recovery还支持多款知名数码相机生产厂商专有的Raw格式照片。

Adroit Photo Recovery数据恢复软件采用的Smart Carving技术需要利用JPEG格式的编码规则。包括量化表和Huffman(霍夫曼)编码等等,其中量化表的作用是对于一些不需要的量进行去除,所以量化表是JPEG有损压缩减少数据量的关键,而通过Huffman编码(它的基本原理是频繁使用的数据用较短的代码代替,较少使用的数据用较长的代码代替,每个数据的代码各不相同)可以完成高效的数据压缩。Smart Carving技术正是通过JPEG格式解码器计算所获得的JPEG格式编码标记信息,将JPEG格式恢复为可以查看的图像信息。

Smart Carving技术首先分析一个簇是否可以被解码为JPEG文件。然后检查它与相邻的簇之间的差异,如果差别很大,就意味着找到了碎片临界点,反复这个过程,直到找到结尾标记。最终,找到这个JPEG图像的所有碎片后,就可以将其“重建”。