国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用WinHex實(shí)現(xiàn)NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)

2009-06-08 03:00
中國(guó)教育技術(shù)裝備 2009年24期
關(guān)鍵詞:數(shù)據(jù)恢復(fù)

齊 欽

摘要 概括介紹NTFS文件系統(tǒng)結(jié)構(gòu)、主文件表、文件記錄,文件記錄的相關(guān)屬性,以及數(shù)據(jù)文件在磁盤(pán)文件數(shù)據(jù)區(qū)的定位。對(duì)NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)做了分析研究,介紹使用磁盤(pán)編輯工具WinHex還原被徹底刪除的文件數(shù)據(jù)。

關(guān)鍵詞 WinHex;NTFS;數(shù)據(jù)恢復(fù)

中圖分類(lèi)號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1671-489X(2009)24-0098-03

WinHex to Achieve with NTFS File System Data Recovery//Qi Qin

Abstract An overview of the structure of NTFS file system, master file table, file records, file records related to property, as well as data files in the disk file data of the targeted area. On NTFS file system data recovery analysis done, the use of WinHex disk editor to restore the deleted files were complete data.

Key words WinHex; NTFS; data recovery

Authors address Institute of Education Science and Technology, Xuzhou Institute of Technology, Xuzhou, Jiangsu, 221008, China

隨著科技的進(jìn)步,計(jì)算機(jī)教學(xué)已成為現(xiàn)代教育技術(shù)的主要技術(shù)手段,在教育教學(xué)中發(fā)揮著越來(lái)越重要的作用。在平時(shí)教學(xué)過(guò)程中,計(jì)算機(jī)可實(shí)現(xiàn)電子教案與板書(shū)演示、CAI輔助教學(xué)、聯(lián)機(jī)測(cè)試等多種教學(xué)手段,在提高學(xué)生學(xué)習(xí)效率、擴(kuò)充信息知識(shí)量、培養(yǎng)學(xué)習(xí)和動(dòng)手能力等方面發(fā)揮著重要作用。而這些教學(xué)信息均以文件數(shù)據(jù)的形式存儲(chǔ)在計(jì)算機(jī)中,一旦遇到系統(tǒng)故障、病毒攻擊、誤刪除或格式化造成數(shù)據(jù)丟失,將影響教學(xué)活動(dòng)的正常開(kāi)展。

NTFS文件系統(tǒng)基于可恢復(fù)文件結(jié)構(gòu)設(shè)計(jì),在安全性和穩(wěn)定性方面有顯著優(yōu)勢(shì),提供容錯(cuò)結(jié)構(gòu)日志,為多用戶(hù)設(shè)置限制的磁盤(pán)配額文件特性,對(duì)文件和文件夾有安全驗(yàn)證和數(shù)字加密,保護(hù)系統(tǒng)的安全,不易產(chǎn)生文件碎片,減少用戶(hù)數(shù)據(jù)文件丟失或毀壞的危險(xiǎn)。由于系統(tǒng)的優(yōu)越性,NTFS已取代FAT成為當(dāng)前主流文件系統(tǒng)。

1 NTFS文件系統(tǒng)結(jié)構(gòu)分析

NTFS文件系統(tǒng)的結(jié)構(gòu)以卷為基礎(chǔ),卷由邏輯分區(qū)組成。卷以簇為最小存儲(chǔ)管理單元,對(duì)磁盤(pán)空間和文件對(duì)象進(jìn)行有機(jī)操作。簇的大小稱(chēng)卷因子,每簇可按需要分配1、2、4或8扇區(qū),為簇2的冪且是整數(shù)倍,每扇區(qū)512字節(jié),由操作系統(tǒng)建立分區(qū)時(shí)格式化生成。當(dāng)分區(qū)空間超過(guò)2 G時(shí),NTFS默認(rèn)簇是8扇區(qū)。NTFS文件系統(tǒng)使用邏輯簇號(hào)和虛擬簇號(hào)對(duì)卷進(jìn)行管理。邏輯簇號(hào)是對(duì)卷上所有簇進(jìn)行順序編號(hào),虛擬簇號(hào)是對(duì)文件占用簇的編號(hào),以便于引用文件中的數(shù)據(jù)。NTFS將卷定義為4個(gè)區(qū)域:分區(qū)引導(dǎo)扇區(qū)、主文件表、系統(tǒng)文件和文件數(shù)據(jù)區(qū)[1]。

分區(qū)引導(dǎo)扇區(qū)位于卷的首扇區(qū),包括分區(qū)的引導(dǎo)程序和BIOS參數(shù)塊(BPB),BPB表中的參數(shù)是在建立文件系統(tǒng)時(shí)由操作系統(tǒng)生成的,系統(tǒng)根據(jù)BPB中參數(shù)得到卷的重要信息,對(duì)分區(qū)引導(dǎo)扇區(qū)、主文件表、文件數(shù)據(jù)等進(jìn)行卷邏輯地址定位。如果BPB參數(shù)丟失,NTFS無(wú)法完成數(shù)據(jù)的定位,文件系統(tǒng)將不能正常使用。

主文件表(MFT)是由一系列文件記錄組成,與文件數(shù)據(jù)區(qū)中的文件相對(duì)應(yīng)的關(guān)系數(shù)組,是NTFS的控制中心。NTFS通過(guò)文件記錄來(lái)描述數(shù)據(jù)文件的各種屬性并確定其在磁盤(pán)上的存儲(chǔ)位置。MFT的前16個(gè)文件記錄屬于系統(tǒng)文件,稱(chēng)為元文件,用于存放系統(tǒng)的元數(shù)據(jù)。元文件在主文件表中地址固定不變,而對(duì)其他文件和文件夾的文件記錄在主文件表中的地址則無(wú)具體要求。

文件記錄由記錄頭、屬性列表和結(jié)束標(biāo)志組成。以“46 49 4C 45”為開(kāi)始標(biāo)志,“FF FF FF FF”為結(jié)束標(biāo)志,大小為1 KB。NTFS將數(shù)據(jù)文件作為屬性/屬性值的集合來(lái)處理,屬性的內(nèi)容是屬性值(流),由簡(jiǎn)單字符隊(duì)列組成。NTFS并不對(duì)文件數(shù)據(jù)進(jìn)行操作,而通過(guò)對(duì)屬性流讀寫(xiě)來(lái)對(duì)文件進(jìn)行創(chuàng)建、讀寫(xiě)、刪除等操作。

當(dāng)文件和文件夾的數(shù)據(jù)較小時(shí),其所有屬性和屬性值都可直接存放在文件記錄中,稱(chēng)為常駐屬性。當(dāng)文件或文件夾的屬性太大而不能直接存放在文件記錄中時(shí),稱(chēng)為非常駐屬性。NTFS將從主文件表之外的磁盤(pán)空間中為非常駐屬性值分配存儲(chǔ)區(qū)域,稱(chēng)為運(yùn)行。運(yùn)行主要說(shuō)明文件在文件數(shù)據(jù)區(qū)簇的分配情況,由多個(gè)運(yùn)行項(xiàng)組成,一個(gè)運(yùn)行項(xiàng)包含一個(gè)虛擬簇號(hào),是屬性數(shù)據(jù)內(nèi)部簇的順序編號(hào);一個(gè)邏輯簇號(hào),是數(shù)據(jù)儲(chǔ)存在磁盤(pán)上的位置;以及數(shù)據(jù)在磁盤(pán)上所占用空間的連續(xù)簇的數(shù)量[2]。利用文件的邏輯簇號(hào)和卷因子相乘得到文件在卷中的物理磁盤(pán)地址,NTFS通過(guò)這種方法對(duì)文件的數(shù)據(jù)區(qū)地址進(jìn)行定位。

2 實(shí)現(xiàn)NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)主要思路

在NTFS文件系統(tǒng)中,磁盤(pán)上的所有數(shù)據(jù)都是文件,每個(gè)文件在主文件表中都有一個(gè)文件記錄。在文件創(chuàng)建時(shí),在主文件表中為文件生成一個(gè)文件記錄;在文件刪除或者系統(tǒng)格式化時(shí),并沒(méi)有破壞磁盤(pán)上文件的數(shù)據(jù)信息,而且文件記錄也沒(méi)有被刪除,只是更改標(biāo)志(偏移0x16H)的屬性值,并回收文件所占用的空間。

實(shí)現(xiàn)NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù),首先通過(guò)分區(qū)引導(dǎo)扇區(qū)的BPB表參數(shù)定位主文件表、文件的文件記錄;分析文件記錄以及記錄中的屬性,獲取數(shù)據(jù)恢復(fù)時(shí)所需要的文件信息;確定文件的數(shù)據(jù)區(qū)地址;對(duì)刪除文件進(jìn)行恢復(fù)。

2.1 對(duì)主文件表和文件記錄的定位由于文件是通過(guò)主文件表的文件記錄來(lái)確定其在文件數(shù)據(jù)區(qū)的存儲(chǔ)位置,因此首先要找到主文件表。主文件表卷起始邏輯地址=卷因子*當(dāng)前卷的主文件表邏輯簇號(hào)。通過(guò)卷的引導(dǎo)扇區(qū)的BPB參數(shù),可獲取主文件表和卷因子信息。分區(qū)引導(dǎo)扇區(qū)開(kāi)始偏移0xDH為卷因子,即每簇扇區(qū)數(shù);偏移0x30H為主文件表在當(dāng)前卷的邏輯地址。

2.2 文件記錄屬性分析文件記錄屬性有標(biāo)準(zhǔn)屬性、文件名屬性、數(shù)據(jù)流屬性、位圖屬性等類(lèi)型[3]。記錄頭偏移0x16H處為文件使用標(biāo)志,文件系統(tǒng)通過(guò)標(biāo)志判斷文件的當(dāng)前使用狀態(tài)。當(dāng)文件刪除時(shí),NTFS并不刪除文件記錄,僅更改文件記錄的使用標(biāo)志值。00表示文件已刪除,01表示文件正常使用,02表示文件夾已刪除,03表示文件夾正常使用。

文件名屬性的類(lèi)型為30H,是常駐屬性,用于存儲(chǔ)文件名。需要注意的是,NTFS的文件名采用Unincode字符集,可支持中文和長(zhǎng)文件名,當(dāng)文件名含有超過(guò)傳統(tǒng)DOS“8.3”的長(zhǎng)文件名時(shí),文件記錄會(huì)有2個(gè)30H的文件名屬性,第1個(gè)是與DOS兼容的短文件名,第2個(gè)是完整的長(zhǎng)文件名。通過(guò)30H屬性判斷是否為所需要恢復(fù)的文件。

數(shù)據(jù)流屬性的類(lèi)型為80H,其中包含有非常駐標(biāo)識(shí)、起始虛擬簇號(hào)、結(jié)束虛擬簇號(hào)、運(yùn)行的偏移、數(shù)據(jù)的運(yùn)行項(xiàng)等內(nèi)容。通過(guò)分析數(shù)據(jù)流屬性中運(yùn)行的邏輯簇號(hào)和虛擬簇號(hào),來(lái)對(duì)文件在文件數(shù)據(jù)區(qū)定位。

2.3 文件數(shù)據(jù)區(qū)的定位數(shù)據(jù)流屬性的開(kāi)頭為“80 00 00 00”,從屬性頭開(kāi)始第5個(gè)字節(jié)起的4個(gè)字節(jié)表示屬性的長(zhǎng)度。第8個(gè)字節(jié)是非常駐標(biāo)識(shí),如果該值是0,為常駐屬性,表示數(shù)據(jù)流存儲(chǔ)在文件記錄中,可在文件記錄中對(duì)數(shù)據(jù)直接進(jìn)行提取操作;如果該值為1,說(shuō)明數(shù)據(jù)存儲(chǔ)在運(yùn)行中。第17到24字節(jié)共8個(gè)字節(jié)表示起始虛擬簇號(hào),第25到32字節(jié)共8個(gè)字節(jié)表示結(jié)束虛擬簇號(hào)。第33字節(jié)表示運(yùn)行的偏移地址,一般為40H,即從屬性頭偏移64字節(jié)。從運(yùn)行的偏移處讀出數(shù)據(jù)運(yùn)行項(xiàng)。在運(yùn)行中說(shuō)明各運(yùn)行項(xiàng)的起始邏輯簇號(hào)和該運(yùn)行項(xiàng)占用的簇?cái)?shù),從而可以定位每一個(gè)數(shù)據(jù)運(yùn)行,對(duì)文件的數(shù)據(jù)進(jìn)行提取操作。

2.4 保存恢復(fù)文件通過(guò)分析運(yùn)行項(xiàng),獲取文件在文件數(shù)據(jù)區(qū)起始和結(jié)束邏輯扇區(qū)地址,直接提取磁盤(pán)扇區(qū)上的二進(jìn)制代碼,并將數(shù)據(jù)保存到其他卷上。

3 用WinHex數(shù)據(jù)恢復(fù)實(shí)例

WinHex是一款優(yōu)秀的16進(jìn)制磁盤(pán)編輯軟件,有完善的分區(qū)和文件管理功能,能編輯物理磁盤(pán)或邏輯磁盤(pán)的任意扇區(qū),可以編輯文件的二進(jìn)制代碼(用16進(jìn)制顯示),是數(shù)據(jù)恢復(fù)的一個(gè)重要工具。

在卷E中存入一個(gè)名為xyzzyx.rar的壓縮文件。按Shift+Delete組合鍵,徹底刪除xyzzyx.rar文件。刪除文件后,注意不要對(duì)E盤(pán)進(jìn)行寫(xiě)入操作,也不要對(duì)磁盤(pán)進(jìn)行碎片整理、磁盤(pán)錯(cuò)誤掃描等操作。下面介紹實(shí)現(xiàn)方法。

1)啟動(dòng)WinHex軟件。點(diǎn)擊“Tool”菜單,選擇“Open Disk”菜單項(xiàng),打開(kāi)卷E。首先定位主文件表,單擊“Go To Sector”按鈕,輸入“0”,跳轉(zhuǎn)至分區(qū)引導(dǎo)扇區(qū)。從BPB表開(kāi)始偏移0x30H~0x38H處的值為00000C00H,偏移0xDH處的值為08H。則主文件表的起始邏輯地址為C0000*08=600000H

單擊工具欄上“Go To Offset”按鈕,在“New position”對(duì)話框中輸入主文件表的偏移地址“600000”,位置類(lèi)型選擇“Sectors”,在“relative to”復(fù)選框中選擇“beginning”,單擊確定跳轉(zhuǎn)至主文件表。

單擊工具欄上“Find text”,在文本框中輸入要搜索的文件名“xyzzyx.rar”,NTFS里面文件名是用Unincode字符集來(lái)表示的,編碼類(lèi)型選擇“Unincode”,搜索方向選擇“Down”。

2)經(jīng)過(guò)搜索后,光標(biāo)停在記錄的文件名屬性位置上。通過(guò)分析30H的文件名屬性,可以看到文件名是“xyzzyx.rar”,確認(rèn)是要恢復(fù)的文件。從記錄頭偏移0x16處使用標(biāo)志值為00,表示文件已被刪除。

接著分析80H的數(shù)據(jù)流屬性,偏移0xC029DD38處表示此文件為非常駐屬性。0xC029DD50為運(yùn)行的偏移值40H,即從第64個(gè)字節(jié)開(kāi)始,偏移0xC029DD70~0xC029DD75為數(shù)據(jù)運(yùn)行,只有一個(gè)運(yùn)行項(xiàng)32 D1 04 E0 AE 69。0x32H表示該運(yùn)行項(xiàng)為3字節(jié)的偏移,2字節(jié)的文件長(zhǎng)度。文件長(zhǎng)度為04D1H,即虛擬簇號(hào)。文件的起始邏輯簇號(hào)為69AEE0H。通過(guò)計(jì)算可知“xyzzyx.rar”文件的起始邏輯扇區(qū)地址為69AEE0H*8=34D7700H,結(jié)束邏輯扇區(qū)地址為(69AEE0H+04D1H)*8=69B3B1H*8=34D9D88H。

3)單擊工具欄上“Go To Offset”按鈕,在“New position”對(duì)話框中輸入文件的起始邏輯扇區(qū)地址“34D7700”,位置類(lèi)型選擇“Sectors”,在“relative to”復(fù)選框中選擇“beginning”,單擊確定跳轉(zhuǎn)。光標(biāo)在二進(jìn)制代碼“52 61 72 21 1A 07 00 CF”處停下,看右面字符集可知是Rar的ASCII碼,確定是壓縮文件的開(kāi)頭標(biāo)志。單擊鼠標(biāo)右鍵選擇“Beginning of block”,定義文件的數(shù)據(jù)區(qū)開(kāi)始。

再單擊工具欄上“Go To Offset”按鈕,輸入文件的結(jié)束邏輯扇區(qū)地址“34D9D88”,確定轉(zhuǎn)到后的新位置即為該文件數(shù)據(jù)的結(jié)束,單擊鼠標(biāo)右鍵選擇“End of block”。

4)依次選擇“EDITCopy BlockInto New File”,輸入文件名“xyzzyx.rar”,保存在桌面,點(diǎn)擊確定完成操作,在桌面上即可看見(jiàn)所恢復(fù)的文件。

4 結(jié)束語(yǔ)

本文對(duì)NTFS文件系統(tǒng)的結(jié)構(gòu)、主文件表、文件記錄等進(jìn)行概括性介紹,并對(duì)文件記錄的文件名屬性和數(shù)據(jù)流屬性進(jìn)行分析,提出NTFS文件系統(tǒng)下數(shù)據(jù)恢復(fù)的實(shí)現(xiàn)思路,介紹使用WinHex實(shí)現(xiàn)NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)的具體方法。應(yīng)用此方法,可以在數(shù)據(jù)沒(méi)有被覆蓋的情況下,快速查找被刪除數(shù)據(jù)文件的文件記錄,并進(jìn)行卷邏輯地址的精確定位,使數(shù)據(jù)恢復(fù)更為方便、高效。本方法也適用于NTFS文件系統(tǒng)誤高級(jí)格式化的數(shù)據(jù)恢復(fù)。

參考文獻(xiàn)

[1]戴士劍,陳永紅.數(shù)據(jù)恢復(fù)技術(shù)[M].北京:電子工業(yè)出版社,2003

[2]居錦武,王蘭英.NTFS文件系統(tǒng)剖析[J].計(jì)算機(jī)工程設(shè)計(jì),2007(11)

[3]File Attributes Defined by NTFS[EB/OL].http://www.ntfs.com/ntfs-files-types.htm

猜你喜歡
數(shù)據(jù)恢復(fù)
常見(jiàn)硬盤(pán)數(shù)據(jù)丟失的分析與恢復(fù)
淺議數(shù)據(jù)安全與恢復(fù)
基于Android—x86的windows恢復(fù)系統(tǒng)研究與設(shè)計(jì)
Windows操作平臺(tái)下的數(shù)據(jù)恢復(fù)技術(shù)
Redis基于RDB+AOF的數(shù)據(jù)恢復(fù)策略研究
淺析數(shù)據(jù)恢復(fù)技術(shù)
數(shù)據(jù)備份技術(shù)
Windows下數(shù)據(jù)恢復(fù)的一點(diǎn)認(rèn)識(shí)
服務(wù)器數(shù)據(jù)備份和恢復(fù)研究
淺談?dòng)?jì)算機(jī)數(shù)據(jù)恢復(fù)
新田县| 鄂伦春自治旗| 黎川县| 济宁市| 德州市| 怀宁县| 利辛县| 康平县| 石屏县| 密山市| 延长县| 微山县| 柯坪县| 东台市| 开封市| 井研县| 滨海县| 娄底市| 海南省| 甘孜县| 遵义市| 合阳县| 泸西县| 阿克苏市| 醴陵市| 永川市| 纳雍县| 桂林市| 灵宝市| 定远县| 库尔勒市| 平乐县| 海安县| 洪雅县| 睢宁县| 右玉县| 洛阳市| 贡觉县| 维西| 太仆寺旗| 晋江市|