首页| 论坛| 消息
主题:碎片文件提取技术
山东老王发表于 2011-01-02 17:00
一.存储及删除的原理(如果此处描述不清楚,或者描述有误,可以参看戴士剑老师的《数据恢复技术》第二版。亦或者跳过这段内容)
这里以FAT32为例(文件碎片产生几率非常高),文件删除以后,不仅是将文件对应的记录项的首字节标记为E5(删除),同时,还对其想对应的文件分配表的内容全部清空为00H,介绍一个一个简单的例子:假设,EXCEL.xls存储在分区的开始位置第10个簇,文件大小为3个簇。那么,在FAT表中的10号簇开始就会记录整个文件的存储链表,在FAT表中第10号簇记录的并不是记录的其自身的簇号,而是记录的这个文件在这个存储链表的下一个簇,也就是说,10号簇的位置我们看到的可能是50号簇。然后到50号簇的位置又记录的是80号簇。那么这个文件的链表就是10、50、80。
二.文件碎片提取概念:
数据恢复中的逻辑故障,最高境界为手工恢复,文件碎片提取正是手工恢复的完美诠释。文件碎片提取是不依赖于文件系统的。凡依赖于文件系统的都不能算是碎片提取。 前此例当中,文件不是连续存放,而且文件删除以后FAT表被清空,那么,我们就只知道文件的起始位置(暂且不谈文件删除后的高位清零问题)。傻瓜软件扫描的时候,就只能按照连续存储的来提取有碎片的文件。显然,文件格式不正确,可定是不能被EXCEL软件识别的要恢复出正确的数据,就只能用winhex手工分析。

三文件碎片提取方法:
这里介绍基本的碎片提取方法。不考虑FAT32文件删除后的高位清零问题。这个碎片文件占用3个簇,起始位置为10号簇。那么,按照LBA寻址的话,中间就穿插了将近70个簇的别的文件的内容。分析:既然有其他的文件,那么,其他的文件也会有文件头,这样,就可以利用winhex逐扇区进行分析,若发现在某个扇区(其实也应该是簇的开始扇区)发现有新的文件头。那么就可以肯定,这个簇的内容不属于EXCEL.xls文件的内容,将其剔除,将正确的(EXCEL.xls)的文件内容提取到一个新的文件夹,最后用winhex的文件合并的功能,进行合并。EXCEL文件碎片提取工作也就完成。

四总结:
看似简单的文件碎片提取,在实际的恢复当中并不是那么容易。首先,精通文件系统是非常有必要的。其次,必须得对EXCEL的文件结构非常清楚的了解,才能做高难度的碎片提取工作。
回帖(1):
1楼:支持一下,写得不错,呵呵

全部回帖(1)»
最新回帖
收藏本帖
发新帖