• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Winhex的HFS+文件提取方法研究

      2019-09-12 06:20:32徐健
      計(jì)算機(jī)時(shí)代 2019年8期
      關(guān)鍵詞:數(shù)據(jù)恢復(fù)

      徐健

      摘? 要: MAC產(chǎn)品應(yīng)用廣泛,對MAC OS的HFS+文件系統(tǒng)的解析和數(shù)據(jù)恢復(fù)的需求也逐漸增加。借助存儲介質(zhì)底層數(shù)據(jù)編輯軟件Winhex,詳細(xì)分析HFS+文件系統(tǒng)文件存儲的基本原理,通過實(shí)例介紹對所需要文件的提取。

      關(guān)鍵詞: Winhex; HFS+; 數(shù)據(jù)恢復(fù); 實(shí)例研究

      中圖分類號:TP309? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號:1006-8228(2019)08-53-04

      Abstract: MAC products are widely used, and the demand for MAC OS HFS+ file system parsing and data recovery is increasing. This paper analyzes the basic principle of HFS+ file system file storage in detail with the help of the Winhex, the underlying data editing software of storage medium, and the extraction of required documents is described by a case.

      Key words: Winhex; HFS+; data recovery; case study

      0 引言

      Winhex是由X-Ways軟件技術(shù)公司開發(fā)的專業(yè)磁盤編輯工具,win表示W(wǎng)indows,hex表示十六進(jìn)制,即Windows下運(yùn)行的十六進(jìn)制編輯器,通過其完善的分區(qū)管理功能和文件管理功能,可以自動分析分區(qū)表鏈和文件鏈簇,可以執(zhí)行不同級別的備份工作,它的編輯功能可以編輯物理磁盤或邏輯磁盤的任何扇區(qū),內(nèi)存編輯器可以直接編輯內(nèi)存,支持Windows、UNIX、Linux、MAC等各種系統(tǒng)下的磁盤分區(qū)結(jié)構(gòu)及文件系統(tǒng)結(jié)構(gòu)的解析[1]。

      本文以HFS+文件系統(tǒng)為例,分析其文件系統(tǒng)的結(jié)構(gòu),并通過實(shí)例研究的方法找到所需要的文件并準(zhǔn)確提取。

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

      HFS+文件系統(tǒng)是目前的Apple電腦中默認(rèn)的最常用的文件系統(tǒng),由卷頭,5種特殊的“元文件”--分別是分配文件(Allocation File)、盤區(qū)溢出文件(Extents Overflow file)、編錄文件(Catalog File)、 屬性文件(Attributes File)、啟動文件(Startup File)以及用戶數(shù)據(jù)區(qū)組成。這5個(gè)元文件是用于存儲文件系統(tǒng)結(jié)構(gòu)的數(shù)據(jù)和屬性,它們的起始地址和大小在文件系統(tǒng)的卷頭中描述[2]。HFS+文件系統(tǒng)總體結(jié)構(gòu)如圖1所示。

      HFS+文件系統(tǒng)的卷頭位于宗卷的2號扇區(qū)(0、1號扇區(qū)保留),占用一個(gè)扇區(qū),其作用類似于FAT文件系統(tǒng)和NTFS文件系統(tǒng)中的DBR,記錄構(gòu)建 HFS+文件系統(tǒng)的基本信息,有塊(類似于NTFS文件系統(tǒng)的簇)、每塊字節(jié)數(shù)、日志位置信息以及一些重要的元文件的位置信息[3]。

      HFS+文件系統(tǒng)用B-樹結(jié)構(gòu)組織數(shù)據(jù),B-樹是一種可以快速搜索、 插入和刪除的結(jié)構(gòu),由節(jié)點(diǎn)構(gòu)成,分為頭節(jié)點(diǎn)、位圖節(jié)點(diǎn)、索引節(jié)點(diǎn)、葉節(jié)點(diǎn)四種類型,其中索引節(jié)點(diǎn)和葉節(jié)點(diǎn)中包含關(guān)鍵字,對B-樹進(jìn)行的所有操作最終都是針對索引節(jié)點(diǎn)和葉節(jié)點(diǎn)以及存儲在它們中的關(guān)鍵字進(jìn)行的。

      關(guān)鍵字在索引節(jié)點(diǎn)和葉節(jié)點(diǎn)有定的排序規(guī)則[4],具體規(guī)則如下:

      ⑴ 關(guān)鍵字必須以升序方式排列在節(jié)點(diǎn)中;

      ⑵ 同一個(gè)層次中的所有節(jié)點(diǎn)必須由“下一個(gè)節(jié)點(diǎn)號”和“上一個(gè)節(jié)點(diǎn)號”兩個(gè)參數(shù)鏈接起來;

      ⑶ 關(guān)鍵字值最小的節(jié)點(diǎn)必須位于鏈表的第一位,且“上一個(gè)節(jié)點(diǎn)號”參數(shù)值為0;

      ⑷ 關(guān)鍵字值最大的節(jié)點(diǎn)必須位于鏈表的最后,且“下一個(gè)節(jié)點(diǎn)號”參數(shù)值為0;

      ⑸ 對于任何一個(gè)節(jié)點(diǎn),其中存放的所有關(guān)鍵字值必須小于鏈表中下一個(gè)節(jié)點(diǎn)中存放的關(guān)鍵字值,且大于鏈表中上一個(gè)節(jié)點(diǎn)中存放的關(guān)鍵字值。

      對關(guān)鍵字采用上述這種排列規(guī)則可以快速地在B-樹中搜索到需要的關(guān)鍵字,以便訪問與關(guān)鍵字相關(guān)聯(lián)的數(shù)據(jù)。

      下面用個(gè)簡單的例子描述上述規(guī)則,在該例子中,我們用數(shù)字作為關(guān)鍵字, 如圖2所示。

      從圖2來看,在訪問數(shù)據(jù)的時(shí)候,由頭節(jié)點(diǎn)定位到根節(jié)點(diǎn),從根節(jié)點(diǎn)的第一個(gè)記錄開始,在關(guān)鍵字值小于等于要搜索的關(guān)鍵字值的記錄范圍內(nèi)尋找更大的關(guān)鍵字值記錄。

      搜索的過程可以延伸到孩子節(jié)點(diǎn),其中索引節(jié)點(diǎn)是典型的孩子節(jié)點(diǎn),搜索往往需重復(fù)進(jìn)行,一直延伸到一個(gè)葉節(jié)點(diǎn)[5]。如果葉節(jié)點(diǎn)中的關(guān)鍵字值與要搜索的關(guān)鍵字值相等,則該關(guān)鍵字所關(guān)聯(lián)的就是要訪問的數(shù)據(jù)的相關(guān)信息。如果葉節(jié)點(diǎn)中的關(guān)鍵字值與要搜索的關(guān)鍵字值不相等,則說明要訪問的數(shù)據(jù)不在這個(gè)B-樹中,需要到其他B-樹中搜索。

      2 HFS+文件系統(tǒng)文件提取實(shí)驗(yàn)

      為了能更好地說明HFS+文件系統(tǒng)的結(jié)構(gòu)及其數(shù)據(jù)存儲原理,準(zhǔn)備一個(gè)U盤,通過MAC系統(tǒng)的磁盤工具對其格式化成Mac OS文件系統(tǒng),在其卷宗根目錄下放置四個(gè)文件夾和88個(gè)txt文件,實(shí)驗(yàn)要求準(zhǔn)確定位80.txt文件并將其提取出來(所需定位及提取的文件可以修改,本文以80.txt為例)。在Windows系統(tǒng)下不能夠讀取Apple系統(tǒng)的分區(qū),通過運(yùn)行Winhex程序來分析此U盤的文件系統(tǒng)并提取指定文件。

      根據(jù)HFS+文件系統(tǒng)的結(jié)構(gòu),我們可以通過以下步驟來手工提取80.txt,注意Mac OS系統(tǒng)使用Big-Endian字節(jié)序[6]。

      ⑴ 定位卷頭。通過該卷宗所在硬盤的Apple分區(qū)映射表定位到卷宗的開始位置在409640號扇區(qū),而卷頭位于卷宗的第三個(gè)扇區(qū),也就是409642號扇區(qū),根據(jù)偏移地址0x28~0x2B得知該分區(qū)的每塊字節(jié)數(shù)為4096。

      猜你喜歡
      數(shù)據(jù)恢復(fù)
      常見硬盤數(shù)據(jù)丟失的分析與恢復(fù)
      科技視界(2016年26期)2016-12-17 23:55:07
      淺議數(shù)據(jù)安全與恢復(fù)
      基于Android—x86的windows恢復(fù)系統(tǒng)研究與設(shè)計(jì)
      Windows操作平臺下的數(shù)據(jù)恢復(fù)技術(shù)
      Redis基于RDB+AOF的數(shù)據(jù)恢復(fù)策略研究
      淺析數(shù)據(jù)恢復(fù)技術(shù)
      數(shù)據(jù)備份技術(shù)
      科技視界(2016年2期)2016-03-30 08:47:54
      Windows下數(shù)據(jù)恢復(fù)的一點(diǎn)認(rèn)識
      科技傳播(2016年3期)2016-03-25 00:22:09
      服務(wù)器數(shù)據(jù)備份和恢復(fù)研究
      淺談計(jì)算機(jī)數(shù)據(jù)恢復(fù)
      永城市| 隆林| 思茅市| 汉寿县| 浪卡子县| 罗定市| 汉中市| 玉山县| 惠安县| 仙桃市| 广东省| 高要市| 炎陵县| 遂溪县| 武汉市| 天长市| 汝南县| 滕州市| 青冈县| 满城县| 苍南县| 射阳县| 濉溪县| 长岭县| 仙游县| 海兴县| 合肥市| 印江| 隆德县| 海安县| 东光县| 福泉市| 绥化市| 靖西县| 嘉兴市| 东源县| 紫云| 肥东县| 东阳市| 刚察县| 六安市|