exFAT文件系统解析及其数据恢复原理探究
发布时间:2019-08-06 来源: 短文摘抄 点击:
摘要:作为针对移动存储设备开发的新一代的文件系统,exFAT文件系统正在被愈来愈广泛应用。该文第一部分对exFAT文件系统做了介绍,包括exFAT文件系统的由来、优点以及DBR及其保留区、FAT、簇位图等系统结构内容;第二部分结合实例,对exFAT文件系统的文件删除进行了分析,并提出了恢复原理。
关键词:exFAT;文件系统;数据恢复
中图分类号:TF391 文献标识码:A 文章编号:1009-3044(2015)18-0073-02
随着信息时代的高速发展,人们对信息依赖性的提高,信息量爆炸式增长,以数据为载体的信息安全越来越受到人们的重视。人们在享受信息所带来方便的同时,也发现了数据丢失所带来的风险。在工作生活中,由于误操作、病毒人侵、硬件故障、黑客攻击等多种原因导致数据被破坏或丢失,一旦重要数据被破坏或丢失,就会对个人、企业造成重大的影响,甚至是难以弥补的损失。而近年来,可移动存储设备的发展、普及迅猛,为适应电脑终端与移动设备互操作能力而生的exFAT文件系统正被广泛应用。在数据恢复研究领域,国内研究较多的是基于FAT32文件系统和NTFS文件系统的数据恢复,针对exFAT文件系统的数据恢复研究尚少。针对这一需求,本文将对exFAT文件系统进行解析,并针对exFAT文件系统数据恢复技术的原理进行探究。
1.exFAT文件系统解析
1.1exFAT文件系统的诞生
exFAT(ExtendedFileAllocationTableFileSystem,扩展FAT)是Microsoft在WindowsEmbeded5.0以上(包括WindowsCE5.0、6.0、WindowsMobile5、6、6.1)中引入的一种适合于闪存的文件系统。传统的FAT文件系统能够管理的空间有限,而NTFS文件系统又不适合使用在闪存介质上(NTFS文件系统是日志式文件系统,需要记录详细的读写操作,不断的读写对闪存芯片损耗较大)。为了解决这些问题,微软推出了exFAT文件系统。
1.2exFAT文件系统的优点
1)增强了台式电脑与移动设备的互操作能力;
2)单文件理论大小最大可达16EB(16x1024x1024TB);
3)簇大小可高达32MB;
4)采用了剩余空间分配表,剩余空间分配性能改进;
5)同一目录下最大文件数可达2,796,202个;
6)支持访问控制;
7)支持TFAT。
1.3exFAT文件系统结构总览
exFAT文件系统由DBR及保留扇区、FAT、簇位图文件、大写字符文件、用户数据区五个部分组成。
1)DBR及其保留扇区
DBR的全称为DOSBootRecord,含义是DOS引导记录,也称为操作系统引导记录。在DBR之后往往有一些保留扇区,其中12号扇区为DBR的备份。exFAT文件系统的DBR由6部分组成,分别为跳转指令、OEM代码、保留扇区、BPB参数、引导程序和结束标志。
2)FAT
FAT的全称为FileAllocationTable,含义是文件分配表。exFAT文件系统一般只有一份FAT,它们由格式化程序在对分区进行格式化时创建。FAT表是由FAT表项(简称FAT项)构成的,exFAT的每个FAT项由4字节(即32位)构成。FAT项编号从0开始,FAT表的前两个FAT项有专门的用途,0号FAT项通常用来存放分区所在的介质类型,1号FAT项一般都是4字节的“FF”。分区的数据区中的每一个簇都会映射到FAT表中的唯一一个FAT项,exFAT文件系统FAT表的功能主要是登记不连续存储的文件的簇链。
3)簇位图文件
簇位图文件是exFAT文件系统中的一个元文件,用来管理分区中簇的使用情况。簇位图文件中的每一个位,映射到数据区中的每一个簇。如果某个簇分配给了文件,该簇在簇位图文件中对应的位就会被填入“1”,表示该簇已经占用;如果没有使用的空簇,它们在簇位图文件中对应的位就是“0”。
4)大写字符文件
大写字符文件是exFAT文件系统中的第二个元文件,类似于NTFS文件系统中的元文件$UpCase,Unicode字母表中的每一个字符在这个文件中都有一个对应的条目,用于比较、排序、计算Hash值等方面。大写字符文件固定大小为5836字节。
5)用户数据区
用户数据区是exFAT文件系统的主要区域,用来存放用户的文件及目录。
1.4exFAT文件系统的目录项
分区中的每个文件及文件夹(也称为目录)都被分配多个大小为32字节的目录项,用以描述文件及文件夹的名称、属性、大小、起始簇号和时间、日期等信息。exFAT文件系统目录项的第一个字节用来描述目录项的类型,剩下的31个字节用来记录文件的相关信息,不同类型的目录项结构也不一样,类型包含0x81,0x82,0x83,0x85,OxCO,OxCl。
1)$Bitmap存储簇的使用情况,极大地降低了分配磁盘空间时需要处理的数据量,加快了分配速度。FAT表不再用来代表空间使用情况,而仅用来存储簇链接信息。当文件在磁盘上的存储空间连续时,其簇链接信息也不再写入FAT表,减少了写人数据的操作。
2)$CharUpperTable文件是用于转换字符大小写的,和NT—FS中的$UpCase文件类似。
3)0xC0跟在0x85类型的目录项之后,存储部分文件属性信息。
4)0xCl跟在0xC0类型的目录项之后,存储部分文件属性信息。
2.exFAT文件系统数据恢复原理
2.1删除文件分析
此处以一实例了解在exFAT文件系统中,文件被删除前后的变化。在以exFAT作为文件系统的u盘里创建一个文本文档“课程论文TEST-2.txt”。
在WinHex先查看其目录项和数据区,然后将其删除后,再次使用WinHex进行查看。在文件“课程论文TEST-2.txt”被删除后,其在WinHex里面查看时文件名前的图片变为“?”。在目录项里只是每个目录项的首字节发生了变化,由原来的“85H”、“”COH、“C1H”改变为“05H”、“40H”、“41H”,其它字节没有任何变化,文件的起始簇号、大小、文件名这些关键信息都完好地存在。在数据区,该文件删除前后没有变化。
2.2数据恢复原理分析
从删除文件分析可以看出,在exFAT中,文件被删除后,没有新的数据存储,或者新的数据存储对被删除后的目录项、数据区没有影响的情况下,被删除的文件只是在目录项进行了变动,该文件可以很容易的被修复。即便是新的数据存储把被删除的目录项占用了,而数据区未被占用,通过不同文件类型的特征,确定了文件数据区的位置,一般文件任然可以恢复。在进行数据恢复时,需要对被删除文件的目录项进行修改或重构。对于不能够完整恢复的删除文件,残留数据区可能包含用户感兴趣的信息,则以十六进制的形式提取出文件残留数据区的内容,从中获取敏感信息。
3.结论
通过对exFAT文件系统的分析,可以看出,该文件系统与FAT32系统有很高的相似度,但是又有许多FAT32文件系统无法比及的优点。在文中通过实验的方法,观察删除文件前后文件目录项和数据区的变化,分析了exFAT文件系统下文件删除后恢复的原理。在实践中,可以使用EasyRecovery等软件进行恢复。但在本文实验中使用的文件为一个仅20B大小的文件,故而只涉及到文件连续存储的恢复情况,在这种情况下,文件的删除不会对FAT表有任何的操作。如果文件是碎片式存储的,文件删除后FAT表将可能被破坏,这样数据恢复起来的难度更大。
热点文章阅读