第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復PPT課件.pptx_第1頁
第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復PPT課件.pptx_第2頁
第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復PPT課件.pptx_第3頁
第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復PPT課件.pptx_第4頁
第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復PPT課件.pptx_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第6章 ExFAT文件系統(tǒng)數(shù)據(jù)恢復,1,ExFAT文件系統(tǒng)也稱為擴展文件分配表文件系統(tǒng),由此也可知它是由FAT文件系統(tǒng)擴展而來。 ExFAT繼承了原FAT類文件系統(tǒng)的架構(gòu),使用FAT表、目錄結(jié)構(gòu)等對數(shù)據(jù)進行管理。但ExFAT對FAT表項進行了擴展,在FAT32文件系統(tǒng)中,每個FAT表項雖然占用4個字節(jié)(32bit),但卻只使用了其中的28bit,所以它管理的簇地址并不能夠達到32bit的理想上限。ExFAT則啟用了FAT32原來未使用的4bit,真正使可管理的地址編號達到32bit的上限。這是ExFAT文件系統(tǒng)可管理容量增大的一個原因。 ExFAT對簇的大小進行了擴展。早先的FAT類文件系統(tǒng),

2、簇的上限為32KB,而ExFAT則將這個上限擴展到32MB。實際上,理論上這個上限值可以達到2的255次方,只不過微軟將其限制在了32MB以內(nèi)。這也使得ExFAT可管理的容量大大增加。,6.1 ExFAT特性,2,在FAT32中,分區(qū)所占用扇區(qū)數(shù)用4個字節(jié)表示,ExFAT則使用8個字節(jié)表示,這也使ExFAT在可管理的分區(qū)大小上有了非常大的突破。不過,由于MBR分區(qū)表的局限性,雖然文件系統(tǒng)本身可以管理超過2TB的空間,但使用4個字節(jié)表示扇區(qū)數(shù)的分區(qū)表項最大只能表述到大約2TB,所以使用MBR分區(qū)表表述的分區(qū),即使使用ExFAT文件系統(tǒng),也無法突破2TB的容量限制。 ExFAT支持更大的單一文件。

3、FAT32中,文件的大小使用4個字節(jié)表述,可表示的單一文件上限大約為4GB。ExFAT使用8個字節(jié)對文件大小進行表述,可表示的單一文件大小上限大約為16EB。,3,由于ExFAT仍然屬于FAT類文件系統(tǒng),所以它的布局結(jié)構(gòu)總體上仍與FAT12/16/32大同 小異,如圖6.1所示。,6.2 ExFAT布局結(jié)構(gòu),4,ExFAT保持了FAT類文件系統(tǒng)的總休架構(gòu),大致分為DBR及其保留扇區(qū)、FAT表和用戶數(shù)據(jù)區(qū)三大部分。DBR及其保留扇區(qū)是FAT表前的區(qū)域,大致可分為三個部分,一是主引導區(qū)域,二是備份引導區(qū)域,再就是其他保留區(qū)域。主引導區(qū)域通常占用011號扇區(qū),其中0號扇區(qū)作為DOS引導記錄,簡稱為D

4、BR;備份引導區(qū)域占用1223號扇區(qū),其中12號扇區(qū)是DBR的完整備份;由24號扇區(qū)開始至FAT表前一個扇區(qū)這部分通常不被使用,我們權(quán)且稱其為其他保留區(qū)域。 FAT表區(qū)域由FAT表組成,不同的是,目前01.00版本的ExFAT文件系統(tǒng)通常只有一個FAT表(事務ExFAT-TexFAT文件系統(tǒng)有兩個FAT表),F(xiàn)AT表中的每個FAT項占用4個字節(jié),并全部使用這4個字節(jié)的32個bit。 用戶數(shù)據(jù)區(qū)則用于存儲用戶數(shù)據(jù)。ExFAT的數(shù)據(jù)區(qū)的起始簇號也是2,該簇通常由簇位圖文件占用,其位置如圖6.1中所示,該文件的各種信息記錄在根目錄下的一個0 x81類型的目錄項中。跟在簇位圖文件后的是大寫轉(zhuǎn)換表文件,

5、其位置如圖6.1中所示,這個文件的大小是固定的,為5836個字節(jié)。再后面則是根目錄,這是所有文件及文件夾的入口,其位置如圖6.1中所示。根目錄之后,如圖6.1中所示,是真正的用戶數(shù)據(jù)區(qū)。,5,ExFAT文件系統(tǒng)也將0號扇區(qū)做為引導記錄扇區(qū),除引導信息外,還記錄著文件系統(tǒng)的各項參數(shù),如分區(qū)大小、FAT表位置及大小、簇起始位置、根目錄起始簇號、每扇區(qū)大小、每簇扇區(qū)數(shù)等等。ExFAT引導記錄扇區(qū)的主要結(jié)構(gòu)見表6.1。,6.3 ExFAT文件系統(tǒng)的DBR分析,6,7,8,(1) 0 x000 x02:3個字節(jié),跳轉(zhuǎn)代碼。 (2) 0 x030 x0A:分區(qū)類型標志,也稱為OEM標簽,是一個8字節(jié)的AS

6、CII碼,用以說明文件系統(tǒng)的類型名稱,即“45 58 46 41 54”,明文“EXFAT”,剩余未用的字節(jié)使用“20”填充。由于ExFAT與NTFS一樣使用0 x07做為分區(qū)表中的分區(qū)類型值,單純由分區(qū)表項中的該值無法判斷這個分區(qū)是NTFS分區(qū)還是ExFAT分區(qū),這時可以通過引導記錄扇區(qū)中的分區(qū)類型標志值對它們進行區(qū)分。 (3) 0 x0B0 x3F:53個字節(jié),全部為“00”。 (4) 0 x400 x47:8個字節(jié),分區(qū)隱藏扇區(qū)數(shù)。 注意:實驗中發(fā)現(xiàn),該值為當前扇區(qū)的物理扇區(qū)號,即使該分區(qū)位于擴展分區(qū)內(nèi)也不例外,這點與FAT32或NTFS引導記錄扇區(qū)中“分區(qū)前已用扇區(qū)數(shù)”的描述方法略有不

7、同。,9,(5) 0 x480 x4F:8個字節(jié),分區(qū)扇區(qū)總數(shù)。 (6) 0 x500 x53:4個字節(jié),F(xiàn)AT表起始扇區(qū)號,該值為相對于文件系統(tǒng)0號扇區(qū)而言。 (7) 0 x540 x57:4個字節(jié),F(xiàn)AT表扇區(qū)數(shù)。 (8) 0 x580 x5B:4個字節(jié),首簇起始扇區(qū)號,該值用以描述文件系統(tǒng)中的第1個簇(即2號簇)的起始扇區(qū)號。通常2號簇分配給簇位圖使用,因此,該值也就是簇位圖的起始扇區(qū)號。雖然該簇跟在FAT表后,但實際上它并不一定等于FAT表起始扇區(qū)號加上FAT表的大小。 (9) 0 x5C0 x5F:4個字節(jié),分區(qū)內(nèi)的總簇數(shù)。 (10) 0 x600 x63:4個字節(jié),根目錄起始簇號。

8、 (11) 0 x640 x67:4個字節(jié),卷ID。 (12) 0 x680 x69:2個字節(jié),文件系統(tǒng)版本。 (13)0 x6A0 x6B:2個字節(jié),卷標志。該標志用以描述主FAT號、卷是否干凈等信息。 (14) 0 x6C0 x6C:1個字節(jié),每扇區(qū)字節(jié)數(shù),表示方法為,假設(shè)此處值為N,則每扇區(qū)大小字節(jié)數(shù)為2的N次方個字節(jié)。此處的值通常為“09”,即每扇區(qū)大小字節(jié)數(shù)為512。微軟將該處的值限定為最大為12,也就是每扇區(qū)大小字節(jié)數(shù)最大為212 = 4096。,10,(15) 0 x6D0 x6D:1個字節(jié),每簇扇區(qū)數(shù),表示方法為,假設(shè)此處值為N,則每簇大小扇區(qū)數(shù)為2的N次方個扇區(qū)。此處值最小為

9、1,最大值取決于每扇區(qū)大小字節(jié)數(shù),因為ExFAT的簇大小上限為32MB,也就是225個字節(jié),所以0 x6C處的值與0 x6D處的值相加不得超過25。 (16) 0 x6E0 x6E:1個字節(jié),F(xiàn)AT表個數(shù),事務ExFAT中為2個FAT表,版本01.00只有一個FAT表。 (17) 0 x6F0 x6F:1個字節(jié),介質(zhì)描述符。 (18) 0 x700 x70:1個字節(jié),似乎是卷中已用簇空間的百分比。 (19) 0 x710 x77:7個字節(jié),保留。 (20) 0 x780 x1FD:390個字節(jié),引導代碼。 (21) 0 x1FE0 x1FF:2個字節(jié),有效結(jié)束標志“55AA”。如果扇區(qū)大小超過

10、512個字節(jié),“55AA”仍然位于扇區(qū)的最后兩個字節(jié),引導代碼至“55AA”之間可能會使用“00”進行填充。,11,現(xiàn)在,我們來實驗分析一個ExFAT文件系統(tǒng)的引導記錄扇區(qū)部分參數(shù),如圖6.2所示。,12,(1) 0 x000 x02: 3個字節(jié),“EB 76 90”,跳轉(zhuǎn)代碼。 (2) 0 x030 x07:分區(qū)類型標志,“45 58 46 41 54”,明文“EXFAT”。 (3) 0 x0B0 x3F:53個字節(jié),全部為“00”。 (4) 0 x400 x47:8個字節(jié),“3F00000000000000”,分區(qū)起始扇區(qū)號,63。 (5) 0 x480 x4F:8個字節(jié),“00823E0

11、000000000”,分區(qū)扇區(qū)總數(shù),4096512。 (6) 0 x500 x53:4個字節(jié),“80000000”,F(xiàn)AT表起始扇區(qū)號,128。 (7) 0 x540 x57:4個字節(jié),“00020000”,F(xiàn)AT表扇區(qū)數(shù),512。 (8) 0 x580 x5B:4個字節(jié),“80020000”,數(shù)據(jù)區(qū)起始位置扇區(qū)號,640。 (9) 0 x5C0 x5F:4個字節(jié),“FEF90000”,卷內(nèi)的總簇數(shù),63998。 (10) 0 x600 x63:4個字節(jié),“04000000”,根目錄起始簇號,4。 (11) 0 x640 x67:4個字節(jié),卷ID。 (12) 0 x680 x69:2個字節(jié),“

12、0001”,文件系統(tǒng)版本,01.00。 (13)0 x6A0 x6B:2個字節(jié),“0000”,卷標志。 (14) 0 x6C0 x6C:1個字節(jié),“09”,每扇區(qū)字節(jié)數(shù),即扇區(qū)大小為29=512字節(jié)。 (15) 0 x6D0 x6D:1個字節(jié),“06”,每簇扇區(qū)數(shù),即26=64個扇區(qū)。 (16) 0 x6E0 x6E:1個字節(jié),“01”,F(xiàn)AT表個數(shù),1。 (17) 0 x6F0 x6F:1個字節(jié),“80”,介質(zhì)描述符。 (18) 0 x700 x70:1個字節(jié),“00”,卷中已用簇空間的百分比,這是一個剛剛格式化的文件系統(tǒng),基本尚未使用。 (19) 0 x1FE0 x1FF:2個字節(jié),有效結(jié)

13、束標志“55AA”。,13,如果我們的WinHex已經(jīng)集成了ExFAT的引導扇區(qū)模板,這些參數(shù)也可以使用WinHex模板來查看。 打開WinHex的模板管理器,選擇Boot Sector exFAT模板,如圖6.3所示。,14,雙擊模板后就可以查看ExFAT的DBR信息了,如圖6.4所示。,15,在DBR及其保留扇區(qū)之后是FAT(File Allocation Table)即文件分配表,其具體位置由DBR的BPB參數(shù)中偏移量為50H53H的4個字節(jié)描述。 在FAT12/16/32中,F(xiàn)AT表不只用于記錄FAT鏈,同時還用于表示當前FAT對應的簇是否被使用:表項為0表示該表項對應的簇未使用,否則

14、為已分配使用。ExFAT文件系統(tǒng)的FAT表則只用于描述FAT鏈,而不再用以說明某個簇的分配情況,簇的分配情況另外使用簇位圖進行描述。 FAT32中,雖然每個FAT表項占用32個bit,但真正使用的卻只是其中的28個bit。ExFAT的FAT表項也占用32個bit,并且全部啟用了這32bit。ExFAT中,F(xiàn)AT項的取值含義見表6.2。,6.4 ExFAT文件系統(tǒng)的FAT表分析,16,17,分區(qū)剛剛格式化后,未被分配使用的FAT項將會設(shè)置為零,表示該FAT項對應的簇是空閑的。同時,由于ExFAT文件系統(tǒng)的FAT表則只用于描述FAT鏈,而不再用以說明某個簇的分配情況;當一個文件占用多個簇時,這些簇

15、的簇號可能是連續(xù)的,也可能是不連續(xù)的;如果文件存放的簇不連續(xù),這些簇的簇號就以簇鏈的形式登記在FAT表中;而如果文件存放在連續(xù)的簇中,F(xiàn)AT表則不登記這些連續(xù)的簇鏈,這些簇鏈的FAT表項取值也為零。 FAT表的前五個FAT項通常都有專門的用途,0號FAT項用來存放分區(qū)所在的介質(zhì)類型,比如硬盤的介質(zhì)類型為“F8”,那么硬盤上分區(qū)的FAT表的第一個FAT項就固定為“F8 FF FF FF”;1號FAT項一般都固定為“FF FF FF FF”;從2號表項開始每個FAT表項與數(shù)據(jù)區(qū)中的簇進行一對一的映射,并且ExFAT的第一簇(也就是2號簇)分配給簇位圖文件,第二簇(也就是3號簇)分配給大寫轉(zhuǎn)換表文件

16、,第三簇(也就是4號簇)分配給根目錄,所以FAT表的第2、3、4表項一般情況下都為“FF FF FFF FF”。圖6.5為一個新格式化的ExFAT文件系統(tǒng)的FAT表。,18,由圖中可以看到,2、3、4號FAT項都寫入了結(jié)束標記0 xFFFFFFFF,說明這三個FAT項對應的簇分別分配給了三個文件或目錄。這三個文件或目錄即簇位圖文件,大寫轉(zhuǎn)換表文件和根目錄。,19,分區(qū)在格式化為ExFAT文件系統(tǒng)后,會創(chuàng)建兩個元文件,一個是簇位圖文件$BitMap,一個是大寫轉(zhuǎn)換表文件$UpCase,下面對這兩個文件作簡要分析。,6.5 ExFAT文件系統(tǒng)的元文件分析,20,ExFAT文件系統(tǒng)的FAT表之后就是

17、數(shù)據(jù)區(qū)了,但數(shù)據(jù)區(qū)并不一定緊跟在FAT表之后,F(xiàn)AT表之后可能會有一些保留區(qū)。數(shù)據(jù)區(qū)的具體開始位置由DBR中的“首簇起始扇區(qū)號”來確定,而數(shù)據(jù)區(qū)的第一個簇就是2號簇,2號簇一般就分配給簇位圖文件使用。 以一個剛完成格式化操作的分區(qū)為例,我們觀察其DBR,內(nèi)容如圖6.6所示。偏移58H5BH處可以看到“首簇起始扇區(qū)號”為384,跳轉(zhuǎn)到384扇區(qū),內(nèi)容如圖6.7所示。,6.5.1 簇位圖文件分析,21,該扇區(qū)只有一個字節(jié)“07H”,這就是簇位圖文件的內(nèi)容。 簇位圖文件類似于NTFS文件系統(tǒng)中的元文件$BitMap,它的作用是用來管理分區(qū)中簇的使用情況。簇位圖文件中的每一位,映射到數(shù)據(jù)區(qū)中的每一個簇

18、。如果某個簇分配給了文件,該簇在簇位圖文件中對應的位就會被填入“1”,表示該簇已經(jīng)占用;如果簇沒有被使用,它們在簇位圖文件中對應的位就是“0”。 圖6.7中簇位圖文件的內(nèi)容為“07H”,換算成二進制等于“00000111”,這8位就對應數(shù)據(jù)區(qū)中的8個簇,也就是2號簇到9號簇這八個簇。從“00000111”這個二進制序列中我們可以看出2、3、4這三個簇是被使用的,其它五個簇未被使用。而2、3、4這三個簇正是被簇位圖文件、大寫轉(zhuǎn)換表文件、根目錄所占用,這與我們前面在FAT表中的描述是一致的。 要計算某個簇在位圖中的對應bit,可以將該簇的簇號減去2,然后用得到的差對除以8,得到的商即該簇在位圖中的

19、字節(jié)號,余數(shù)為該簇在該字節(jié)中的bit號。 例如,要計算12號簇在位圖中的對應bit位置,計算方法如下: ( 12 2 ) / 8 = 1. 2 也就是說,12號簇在位圖中的對應bit是1號字節(jié)中的2號bit。 有關(guān)簇位圖文件的開始位置和大小記錄在其目錄項中,目錄項結(jié)構(gòu)見6.6節(jié)。,22,大寫轉(zhuǎn)換表文件是ExFAT文件系統(tǒng)中的第二個元文件,類似于NTFS文件系統(tǒng)中的元文件$UpCase。Unicode字母表中每一個字符在這個文件中都有一個對應的條目,用于比較、排序、計算Hash值等方面。大寫轉(zhuǎn)換表文件一般占用數(shù)據(jù)區(qū)中的第二個簇也就是3號簇,其內(nèi)容如圖6.8所示。,6.5.2 大寫轉(zhuǎn)換表文件分析,

20、圖6.8是大寫轉(zhuǎn)換表文件第一個扇區(qū)的部分內(nèi)容,從圖中可以看出其內(nèi)容都是Unicode字母表中的字符,每一個字符占用兩個字節(jié)。 大寫轉(zhuǎn)換表文件的大小固定為5836字節(jié)。,23,ExFAT文件系統(tǒng)與其它FAT文件系統(tǒng)一樣,也為分區(qū)中的每個文件及文件夾(目錄)分配大小為32個字節(jié)的目錄項,用以描述文件或文件夾的屬性、大小、文件(目錄)名、起始簇號和時間、日期等信息。分區(qū)根目錄下的文件及文件夾的目錄項存放在根目錄區(qū),分區(qū)子目錄下的文件及文件夾的目錄項存放在數(shù)據(jù)區(qū)相應的簇中。 但是,ExFAT文件系統(tǒng)目錄項的結(jié)構(gòu)已不再與FAT32中的目錄項一樣,而是采取了全新的結(jié)構(gòu)。 總體來講,每個目錄項可以被分成兩大

21、部分:目錄項類型值和目錄項數(shù)據(jù)。目錄項的通用結(jié)構(gòu)見表6.3。,6.6 ExFAT文件系統(tǒng)的目錄項分析,24,根據(jù)目錄項的作用和結(jié)構(gòu)特點,可以把目錄項分為四種類型: 卷標目錄項 簇位圖文件目錄項 大寫轉(zhuǎn)換表文件目錄項 用戶文件目錄項 下面分類型對目錄項結(jié)構(gòu)作簡要介紹。,25,卷標就是一個分區(qū)的名字,可以在格式化時創(chuàng)建,也可以隨時修改。ExFAT文件系統(tǒng)把卷標當做文件,用文件目錄項進行管理,并放在根目錄區(qū)中。 卷標目錄項占用根目錄下的第一個目錄項位置,格式化時如果沒有設(shè)置卷標,該目錄項除第一個字節(jié)為“03”外,其他31個字節(jié)全部為零,這時這個目錄項稱為“卷標目錄項保留項”,如圖6.9所示。,6.6

22、.1 卷標目錄項,26,卷標目錄項的結(jié)構(gòu)見表6.4。,(1) 0 x000 x00:1個字節(jié),目錄項類型值,對于卷標目錄項,該類型值為0 x83。(2) 0 x010 x01:1個字節(jié),卷標長度字符數(shù),理論上要求在11個之內(nèi),但最多可以達到15個。 (3) 0 x020 x17:22個字節(jié),卷標,使用Unicode字符,每個字符占用兩個字節(jié)。如果長度超過11個字符,卷標將占用保留區(qū)。不足11個字符時,未使用的部分用0填充。(4) 0 x180 x1F:8個字節(jié),保留,用0填充。 卷標目錄項也可以用模板來查看其結(jié)構(gòu),圖6.10所示卷標目錄項用模板顯示結(jié)果如圖6.11所示。,27,28,ExFAT

23、用一個簇位圖來描述每個簇的分配情況,并在根目錄下建立一個類型值為0 x81的簇位圖目錄項來描述它的位置及大小,這個目錄項占用根目錄下的第二個目錄項位置。某ExFAT分區(qū)簇位圖文件目錄項如圖6.12所示。,6.6.2簇位圖文件目錄項,簇位圖文件目錄項各字節(jié)含義見表6.5。,29,(1)簇位圖文件的起始簇號一般都為2。 (2)簇位圖文件的目錄項中不記錄時間戳。 下面用WinHex模板查看圖6.12所示簇位圖文件目錄項的結(jié)構(gòu),如圖6.13所示。,30,在ExFAT中,文件屬性目錄項中記錄文件名時會產(chǎn)生一個文件名校驗,文件名參加校驗時需要先將文件名進行大寫轉(zhuǎn)換后再進行計算。為此,ExFAT用一個表存儲

24、大寫轉(zhuǎn)換信息,并在根目錄下建立一個類型值為0 x82的大寫轉(zhuǎn)換表目錄項,描述它的起始位置及大小,這個目錄項位于根目錄下的第3個目錄項位置。某ExFAT分區(qū)簇位圖文件目錄項如圖6.14示。,6.6.3 大寫轉(zhuǎn)換表文件目錄項,31,大寫轉(zhuǎn)換表文件目錄項各字節(jié)含義見表6.6。,(1)大寫轉(zhuǎn)換表的起始簇號一般都為3。 (2)大寫轉(zhuǎn)換表的大小字節(jié)數(shù),固定為5836個字節(jié)。 下面用WinHex模板查看圖6.14所示大寫轉(zhuǎn)換表文件目錄項的結(jié)構(gòu),如圖6.15所示。,32,ExFAT文件系統(tǒng)中每個用戶文件至少有三個目錄項,這三個目錄項被稱為三個屬性:第一個目錄項稱為“屬性1”,目錄項首字節(jié)的特征值為“85H”;

25、第二個目錄項稱為“屬性2”,目錄項首字節(jié)的特征值為“C0H”;第三個目錄項稱為“屬性3”,目錄項首字節(jié)的特征值為“C1H”。 (1)“屬性1”目錄項 “屬性1”目錄項用來記錄該目錄項的附屬目錄項數(shù)、校驗和、文件屬性、時間戳等信息。用戶文件的“屬性1”目錄項如圖6.16所示。,6.6.4用戶文件目錄項,33,用戶文件的“屬性1”目錄項中各字節(jié)含義見表6.7。,34,0 x010 x02:附屬目錄項數(shù)。該參數(shù)指除此目錄項外,該文件還有幾個目錄項,當前值為2,說明這個文件除了“屬性1”目錄項外,后面還有兩個目錄項,也就是“屬性2”目錄項和“屬性3”目錄項。 0 x020 x03:校驗和。該參數(shù)是校驗

26、算法算出來的目錄項的校驗和。 0 x040 x07:文件屬性。該參數(shù)描述文件的常規(guī)屬性,屬性具體含義見表6.8。,35,下面用WinHex模板查看圖6.16所示用戶文件“屬性1”目錄項的結(jié)構(gòu),如圖6.17所示。,36,(2)“屬性2:目錄項 “屬性2“目錄項用來記錄文件是否有碎片、文件名的字符數(shù)、文件名的Hash值、文件的起始簇號及大小等信息。 用戶文件的“屬性2”目錄項如圖6.18所示。,37,用戶文件的“屬性2”目錄項中各字節(jié)含義見表6.8。,38,0 x010 x01:文件碎片標志。該參數(shù)反映文件是否連續(xù)存放。如果是連續(xù)存放沒有碎片,該標志為03H,如果不連續(xù)存放,文件有碎片,該標志為0

27、1H。 0 x030 x03:文件名字符數(shù)。該參數(shù)用來說明文件名的長度,ExFAT文件系統(tǒng)的文件名用Unicode碼表示,每個字符占用兩個字節(jié)。 0 x040 x05:文件名Hash值。該參數(shù)根據(jù)相應算法算出文件名的校驗值,當文件名發(fā)生改變時,Hash值也發(fā)生相應的變化,但當文件移動時,該值不變。 0 x080 x0F:文件大小1。該參數(shù)是文件的總字節(jié)數(shù),用64位記錄文件大小。 0 x140 x17:起始簇號。該參數(shù)描述文件的起始簇號。 0 x180 x1F:文件大小2.該參數(shù)也是文件的總字節(jié)數(shù),是為NTFS文件系統(tǒng)的壓縮屬性準備的,一般情況下與“文件大小1”保持一致。,39,下面用WinHe

28、x模板查看圖6.18所示用戶文件“屬性2”目錄項的結(jié)構(gòu),如圖6.19所示。,40,(3)“屬性3”目錄項 “屬性3”目錄項用來具體記錄文件的名稱。如果文件名很長,“屬性3”可以包含多個目錄項,每個目錄項稱為一個片段,從上至下依次記錄文件名的每一個字符。,41,用戶文件的“屬性3”目錄項中各字節(jié)含義見表6.9。,42,因為該文件名很短,所以只有一個片段。 下面再看一個文件,文件名為“shu-ju-hui-fu-zhao-zhen-zhou-zheng-fa-xue-yuan.txt”,其目錄項如圖6.22所示。,43,從圖6.22和圖6.23中可以看出該文件有6個目錄項,一個“屬性1”目錄項、一

29、個“屬性2”目錄項、四個“屬性3”目錄項。,44,6.7.1 根目錄的管理 第1步,定位DBR,通過引導扇區(qū)模板,查看根目錄首簇。引導扇區(qū)模板如圖6.24所示。,6.7 ExFAT文件系統(tǒng)根目錄與子目錄的管理,45,第2步,通過文件名定位目標文件的目錄項。從圖6.24可以看出根目錄首簇號為4,跳轉(zhuǎn)到4號簇,通過文件名定位目標文件的目錄項(如圖6.25所示),并用用戶文件目錄項模板查看,如圖6.26所示。,46,47,第3步,定位FAT表和簇位圖文件,查看文件存放簇鏈。因為文件test.txt存放的起始簇號為5,所以我們定位到FAT表查看5號FAT項的數(shù)據(jù),從圖6.24 引導扇區(qū)模板我們可以看出

30、FAT表在128號扇區(qū),跳轉(zhuǎn)到128號扇區(qū),F(xiàn)AT表內(nèi)如如圖6.27所示。,從圖6.28可以看出,該文件目前只有一個字節(jié)的數(shù)據(jù)“0F”,換算為二進制“00001111”,說明2、3、4、5這四個簇目前被使用,其中2、3、4簇分別被簇位圖文件、大寫轉(zhuǎn)換表文件和根目錄占用,5號簇就是被test.txt文件占用。,48,第4步,定位數(shù)據(jù)區(qū)。通過上一步我們得出test.txt文件僅占用1個簇,即5號簇,下面我們定位到5號簇,查看其內(nèi)容,如圖6.29所示。,因為文件大小為44個字節(jié),所以從第一個字節(jié)開始連續(xù)的44個字節(jié)即是文件test.txt文件的內(nèi)容。 以上就是ExFAT文件系統(tǒng)對根目錄下文件的管理。

31、,49,I盤的根目錄下有個文件夾“123”,文件夾“123”下面有一個文件“數(shù)據(jù)恢復.txt”,下面我們看看ExFAT文件系統(tǒng)是如何管理子目錄及子目錄下的文件的。 首先通過WinHex查看文件夾“123”的目錄項,如圖6.30所示。,6.7.2 子目錄的管理,50,該目錄項各字節(jié)的含義見其模板,如圖6.31所示。,51,以6.7.1節(jié)分析的“test.txt”文件為例,看看其被刪除后的底層變化及恢復的方法。 “test.txt”文件的目錄項及其內(nèi)容參看圖6.25、圖6.26及圖6.29?,F(xiàn)在我們將文件“test.txt”徹底刪除。 刪除后文件的目錄項如圖6.35所示。,6.8 ExFAT文件系

32、統(tǒng)刪除文件的分析,52,經(jīng)過與圖6.25中該文件刪除前的目錄項的對比,可以發(fā)現(xiàn)文件刪除后只是目錄項的首字節(jié)發(fā)生了變化,由原來的“85H”、“C0H”、“C1H”改變?yōu)椤?5H”、“40H”、“41H”,其它字節(jié)沒有任何改變,文件的起始簇號、文件大小、文件名等關(guān)鍵信息都完好地存在。 該文件存放在5號簇,現(xiàn)在跳轉(zhuǎn)到5號簇,其內(nèi)容如圖6.36所示。,53,通過對比圖6.29和圖6.36的內(nèi)容,我們發(fā)現(xiàn)5號簇的內(nèi)容也就是文件的內(nèi)容沒有任何變化,這就說明了刪除文件并沒有清空其數(shù)據(jù)區(qū)。 因為文件“test.txt”只占用一個簇,不可能有碎片,所以其在FAT表中也就沒有登記項,文件刪除前后FAT表中5號表項

33、都為“00 00 00 00”。但文件刪除后,文件所占用的5號簇會被釋放,以便其它文件使用,所以該文件在簇位圖文件中對應的位會被清零,“test.txt”文件刪除后,分區(qū)的簇位圖文件如圖6.37所示。,54,從圖6.37可以看出文件刪除后簇位圖文件的內(nèi)容變成了“37”,把十六進制的“37”轉(zhuǎn)換成二進制為“00110111”,5號簇所對應的二進制位已經(jīng)由“1”變成了“0”,說明5號簇被釋放。 通過前面的分析,我們知道文件刪除后文件名、起始簇號、大小及數(shù)據(jù)內(nèi)容都沒有變化,所以只要根據(jù)這些信息定位到文件的內(nèi)容并另外保存即可恢復刪除的文件。 通過實驗發(fā)現(xiàn),即使文件沒有連續(xù)存放,也就是文件在FAT表中有

34、簇鏈,當文件刪除后,文件所對應的簇鏈也不會被清空,所以不管文件是否連續(xù)存放,其恢復的方法是一致的。,55,6.9.1 格式化的底層分析 格式化就是給分區(qū)創(chuàng)建一個文件系統(tǒng)。首先看一個有數(shù)據(jù)的ExFAT分區(qū),然后將其格式化,分析格式化前后原來數(shù)據(jù)的變化。 圖6.38是一個ExFAT分區(qū)“I”中的數(shù)據(jù),有兩個文本文件和一個文件夾。,6.9 ExFAT文件系統(tǒng)誤格式化的分析,56,下面我們在WinHex下打開該分區(qū)的FAT表,F(xiàn)AT表的位置通過DBR參數(shù)獲得。當前分區(qū)I的FAT表如圖6.40所示。,57,簇位圖文件的位置也可以通過DBR參數(shù)獲得,一般在2號簇。分區(qū)I的簇位圖文件內(nèi)容如圖6.41所示。,

35、58,分區(qū)I根目錄也就是4號簇的內(nèi)容如圖6.42所示。,59,文件夾“abc”下的文件“333.txt”的目錄項如圖6.43所示。,60,61,62,通過前面的分析知道,ExFAT文件系統(tǒng)格式化后,F(xiàn)AT表第一個扇區(qū)中用戶文件的簇鏈會被清零,根目錄的用戶文件目錄項也被清零,所以根目錄下的文件就很難被恢復了,因為沒有目錄項就無法知道原有文件的文件名及它們存放的位置。但不是絕對不能恢復,因為格式化是不破壞用戶文件的數(shù)據(jù)區(qū)的,利用用戶文件頭部特征及文件內(nèi)容特征還是有可能恢復的。 子目錄下的文件目錄項沒有遭到任何破壞。如果文件是連續(xù)存放的,那么子目錄下的文件是完全能夠恢復的。我們只需根據(jù)文件名定位文件目錄項,再根據(jù)文件目錄項獲取文件起始簇號和文件大小信息,最后到數(shù)據(jù)區(qū)選中相應數(shù)據(jù)另存到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論