欢迎来到天天文库
浏览记录
ID:26705374
大小:51.00 KB
页数:5页
时间:2018-11-28
《fat文件系统下删除文件的恢复方法研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、FAT文件系统下删除文件的恢复方法研究摘要:我们在操作电脑时,常常会碰到前一秒钟彻底删除了一个文件,下一秒钟又意识到这个文件很重要,非要把文件找回来的情况,假如这个文件恰巧存储在一个FAT文件系统组织管理的磁盘分区下,事情恐怕就没有那么简单了。本文针对在FAT文件系统下被删除文件的恢复方法进行了可行性研究。中国8/vie 关键词:FAT文件系统数据恢复文件目录表文件分配表 中图分类号:TP393文献标识码:A:1007-9416(2016)12-0102-01 FAT文件系统最早于上世纪70年代随着MS-DOS操作系统问世,它广泛应用于微软所有非NT内核的操作系统之上。最终版本为FAT
2、32文件系统,目前仍大量存在于老式家用机平台或者U盘等小容量移动存储设备上。相对于NTFS文件系统,FAT文件系统在数据安全性、系统健壮性和容错等方面都没有相应的措施,自身设计存在局限性。例如误删除、误格式化这样的操作,对于FAT文件系统下存放的文件来说都是致命和难以完全恢复的。 在FAT文件系统下准确地定位一个文件,需要读取两个位置的参数,一个是根目录或子目录下的FDT文件目录表中的文件目录项,一个是FAT文件分配表中的FAT记录项。其中FDT记录了文件的文件名,文件长度,文件起始簇号,文件创建时日期和时间,文件最近修改日期和时间,文件最后访问日期等基本信息;FAT记录了文件在存储时占用
3、的簇号链信息,也就是文件从开始簇到最后一个簇的占用情况。 文件系统在定位一个正常文件时,首先读取根目录或子目录下的FDT文件目录项,获得文件的入口,即文件起始簇号,随后跳转至FAT表,定位到起始簇号的FAT记录项,查看文件的簇号链信息,根据簇号链信息顺序读出文件占用的所有簇的内容,即可得到完整的文件内容。 我们以FAT32文件系统为例,分析一下文件被彻底删除后,文件系统对被删除文件所做的操作。首先,可以确定的是,文件数据区域在删除操作中并没有被清零或覆盖,只是文件所占存储空间被释放了,也就是说随后的使用中磁盘可以向文件数据所在区域写入新的内容。其次,我们发现存储于FDT文件目录项中的几个
4、定位文件的重要参数被修改了,包括文件名的第一个字符被改写成“E5”,长度为32位的文件起始簇号的高16位被清零。第三,存储于FAT表的簇号链中被删除文件的所有簇号记录全部被清零,也就是说文件在磁盘空间上的存储占用情况完全被抹掉。经过这两个关键位置的处理后,即便文件数据本身没有被覆盖,我们想要完整地恢复出数据也绝非易事。 这也就是为什么我们遇到FAT文件系统数据丢失后,即便采取措施进行数据抢救,也往往无法得到满意恢复效果的原因所在。对于我们从事数据恢复行业的技术人员来讲,纵然恢复希望渺茫,我们也应本着万事万物间总有联系的思想,尝试几种相对可行的方法来挽救那宝贵的文件数据。 通过刚才对正常文
5、件和被删除文件的存储状态分析,我们可以得出一个结论:若要恢复一个被彻底删除的文件,必须具备两个条件,一是确定文件的入口参数文件起始簇号,二是搞清楚文件的簇号链在FAT表中的分布情况。具备这两个条件,就可以把文件完完整整地恢复出来了。接下来,我们依次分析上述两个参数的恢复方法: 1文件起始簇号的恢复方法 由于FAT文件系统在彻底删除文件时,已经将文件FDT目�项中记录的文件起始簇号高16位清零了,我们只能读出没有被修改的低16位参数,如果直接以这低16位参数来作为文件的入口参数去定位文件的话,十有八九是会出现偏差的。所以我们必须想办法尝试找出被清除的文件起始簇号的高16位信息,与低16位信
6、息结合,得出完整的文件入口参数。那么我们如何恢复这被清除的高16位信息呢?方法有两种,一种是依据文件目录项中保留的文件创建时日期和时间,尝试在FDT表中找出与被删文件同一时期拷入硬盘分区的临近文件,观察分析这些文件的FDT目录项中记录的文件起始簇号,以此簇号的高16位来猜测被删文件的入口,尝试读出文件的起始簇号内容,如果恰巧是一个文件头的话,那么这个文件很有可能就是我们要恢复的文件。第二种方法是穷举法,由于文件入口参数的高16位被清零,从数学的角度来看,16位二进制数组成的参数一共有65536种可能的取值,我们把这65536种可能的取值与低16位参数结合,尝试读取每一种可能的文件入口参数位置
7、的数据,对数据依次进行判断,看是不是一个完整的文件头部信息,排除掉没有意义的样本,直到找出匹配的结果,此种方法耗费时间会比较长,不太适合人工查找。 2在FAT表中文件簇号链的恢复方法 我们利用上一步恢复出来的文件入口参数,找到了文件起始位置,但仍然无法将文件完整取出,因为在彻底删除文件的操作中,FAT表中文件簇号链已经被全部清空了,我们无从得知文件簇的具体排列情况,这时要根据不同情况进行分析。第一,如果文
此文档下载收益归作者所有