winHex数据恢复(第一篇)
WinHex在我們之前的文章中已經介紹過,是在Windows下運行的十六進制編輯軟件,有完善的分區(qū)管理功能和文件管理功能,能自動分析分區(qū)鏈和文件簇鏈,對硬盤進行不同方式不同成度的備份、克隆整個硬盤,能夠編輯任何一種文件類型的二進制內容(用十六進制顯示),其磁盤編輯器可以編輯物理磁盤或者邏輯磁盤的任意扇區(qū),是手工恢復數據的首選工具軟件。
基礎知識
硬盤尋址方式
硬盤的常用尋址方式有CHS尋址和LBA尋址,早期的硬盤容量非常小,硬盤的每條磁道都具有相同的扇區(qū)數,早期常采用CHS尋址(Cylinder柱面、Header磁頭、Sector扇區(qū)),隨著硬盤容量的增大,不再劃分柱面和磁頭號,這些數據都由硬盤自身保留,所有的物理扇區(qū)都按照特定規(guī)則進行線性編號,目前普遍采用LBA這種抽象簡單的尋址方式。
硬盤分區(qū)結構
所有硬盤在使用之前都需要進行分區(qū),硬盤分區(qū)是針對一個硬盤進行操作的,可以分為主分區(qū)、擴展分區(qū)、邏輯分區(qū),主分區(qū)也叫引導分區(qū),系統一般安裝在這個分區(qū),是引導電腦開機讀取文件的一個磁盤分區(qū),一個硬盤最多可以同時創(chuàng)建4個主分區(qū)。擴展分區(qū)是一個概念,實際是看不到而且無法直接使用的,一般將除了主分區(qū)外的剩余磁盤空間叫做擴展分區(qū),擴展分區(qū)可以繼續(xù)被分為多個邏輯分區(qū),具體結構如下圖所示。
磁盤按照分區(qū)結構不同,一般分為MBR、EBR和GPT,分區(qū)后硬盤的第1個扇區(qū)為MBR(Master Boot Record)扇區(qū),占512b,該扇區(qū)在計算機引導過程中起著舉足輕重的作用,包括硬盤主引導程序代碼(占446b)、硬盤分區(qū)表(占64b)和引導區(qū)結束標志“55AA”(占2b)3個部分。MBR的64b分區(qū)表最多可存儲4個分區(qū)信息,每一個分區(qū)信息占16b,其具體結構如下圖所示,DBR是由硬盤MBR裝載的程序段,分區(qū)引導扇區(qū)DBR中包含文件系統扇區(qū)總數等數據,對于數據恢復有較大幫助。
由于MBR支持最多創(chuàng)建4個分區(qū)在實際情況下往往是不夠用的,因此就引入了擴展分區(qū)的概念,擴展分區(qū)嚴格地講并不是一個實際意義的分區(qū),它僅僅是一個指向下一個分區(qū)的指針,擴展分區(qū)的數據存儲在一個類似MBR的EBR(Extended Boot Record)中,每個EBR占一個扇區(qū)(512b),EBR的第一個分區(qū)表用于描述一個邏輯分區(qū),第二個分區(qū)表用于指向下一個EBR,其具體結構如下圖所示。
GPT磁盤分區(qū)的結構如下圖所示,其包含保護MBR、GPT頭、分區(qū)表、分區(qū)區(qū)域、分區(qū)表備份、GPT頭備份六部分,其中保護MBR位于GPT磁盤的第一個扇區(qū),由磁盤簽名、MBR磁盤分區(qū)表和結束標志組成。GPT頭位于GPT磁盤的第二個扇區(qū),會定義分區(qū)表的起始位置、結束位置、每個分區(qū)表項的大小和個數等信息。分區(qū)表位于GPT磁盤的2~33號扇區(qū),能夠容納128個分區(qū)表,GPT分區(qū)區(qū)域通常起始于34號扇區(qū),由EFI系統分區(qū)(ESP)、微軟保留分區(qū)(MSR)、LDM元數據分區(qū)、LDM數據分區(qū)、OEM分區(qū)、主分區(qū)等多個部分組成。分區(qū)表備份是對分區(qū)表32個扇區(qū)的完整備份,GPT頭備份位于GPT磁盤的最后一個扇區(qū),但GPT頭備份并不是GPT頭的簡單復制,兩者結構雖然一樣,但其中的參數卻有所不同。
GPT相對于MBR的優(yōu)勢主要體現在其允許每個磁盤多達128個分區(qū),支持高達18EB的卷大小,GPT允許將主磁盤分區(qū)表和備份磁盤分區(qū)表用于冗余,且性能相對MBR更加穩(wěn)定。
利用WinHex恢復
上文把有關數據恢復的硬盤尋址方式、硬盤分區(qū)結構等基礎理論內容進行了闡述,下面就結合以上理論利用WinHex這款十六進制編輯器來實現對刪除的圖片和分區(qū)來實現恢復的效果。
恢復圖片
首先我們在系統H盤存放一個cat.jpg的圖片文件,通過WinHex掛載該磁盤驅動器,如下圖所示文件瀏覽窗口紅色框中就是該cat.jpg文件,通過十六進制查看器,該文件存放的位置對應偏移地址為0058B000,其中jpg圖片格式文件頭對應的十六進制碼為FFD8FF,如圖中十六進制查看器的紅色框中所示就是該cat.jpg文件頭,后面的十六進制數就對應該cat.jpg文件。
按住Shift+Ctrl鍵徹底刪除cat.jpg文件后,如下圖所示在WinHex的文件瀏覽窗口已經看不到該cat.jpg文件,但是通過十六進制查看器在0058B000位置,仍然可以看到cat.jpg文件原本占據的位置數據沒有變,這也證明了基礎理論中刪除的數據沒有立刻被覆蓋,只是文件索引標識為已刪除,給后續(xù)數據恢復做好了準備。
WinHex在工具-磁盤工具-通過文件類型恢復中支持多種文件類型的數據恢復,如下圖所示,僅圖片類型就支持包括JPEG、PNG、GIF、TIFF等多種類型,此處選擇恢復文件的輸出位置,一定不要與已刪除文件在一個盤符,防止已刪除文件的存儲位置被不小心覆蓋,點擊確定即可得到恢復文件,如下圖。
恢復分區(qū)
通常情況下,EBR不會遭到破壞,或者被破壞的幾率極低,因此實踐中對MBR的修復比較常見,例如某硬盤的MBR由于病毒的破壞被刪除了,針對分區(qū)的恢復,這里舉個比較有代表性的例子,即針對分區(qū)表的恢復。
我們這里有一塊測試磁盤如下圖所示,提示異常分區(qū)未分配沒有初始化,但是我們之前使用時這塊磁盤有兩塊分區(qū),存儲的也都有數據,現在利用WinHex掛載起來看一看。
掛載之后在winhex的文件瀏覽窗口看到如下圖所示該磁盤有I和J兩個分區(qū),但是該磁盤的分區(qū)表已經損壞,如圖中紅色框中,該分區(qū)表數據都變?yōu)?,這也是出現無法識別分區(qū)的主要原因。
下面就利用DBR分區(qū)數據來嘗試恢復這兩個分區(qū),NTFS系統的DBR標志為EB 52 90在WinHex中搜索得到如下圖結果其在第128扇區(qū),dbr的28至2f保存的是文件系統扇區(qū)總數,通過數據解釋器查看該分區(qū)扇區(qū)總數為409,599,這里使用當前扇區(qū)128加上409,599再加上1得到下一個分區(qū)的位于第409,728扇區(qū)。
跳轉至第409,728扇區(qū),該扇區(qū)頭部發(fā)現DBR標志EB 52 90,驗證了我們計算的扇區(qū)大小的正確性,如下圖所示,查看該dbr的28至2f保存的是文件系統扇區(qū)總數,通過數據解釋器查看該分區(qū)扇區(qū)總數為608,255,這里使用當前扇區(qū)409,728加上608,255再加上1得到結果1,017,984,第1,017,984扇區(qū)已經非常接近磁盤總扇區(qū)數1024000,通過WinHex查看后續(xù)也沒有DBR了,則可驗證該磁盤有兩個分區(qū)。
后面利用上文找到的兩個分區(qū)的起始扇區(qū)和分區(qū)包含的扇區(qū)總數來恢復MBR的分區(qū)表,分區(qū)1的起始扇區(qū)為128,分區(qū)1包含409,599個扇區(qū),轉換為十六進制起始扇區(qū)為80 00 00 00,扇區(qū)總數為FF 3F 06 00,分區(qū)2的起始扇區(qū)為409,728,分區(qū)2包含608,255個扇區(qū),轉換為十六進制起始扇區(qū)為80 40 06 00,扇區(qū)總數為FF 47 09 00,兩個分區(qū)均為NTFS格式,對應標志為07,如圖中紅色框部分。
保存以上修改,重新掛載該磁盤后即可看到該磁盤兩個分區(qū)恢復正常,分區(qū)中的文件也正常,如下圖所示。
以上對數據恢復中涉及的基礎知識,包括硬盤的尋址方式、分區(qū)結構以及WinHex的用法等進行了介紹,同時結合實際恢復刪除的圖片和被破壞的分區(qū)來進一步闡述理論的正確性,后續(xù)將展開對數據恢復的更多學習內容,大家一起學習交流。
轉載聲明:如果希望轉載請于公眾號(安全fun)后臺聯系,或者郵件至anquanfun@163.com,轉載時請保留原作者(安全fun)及出處信息,轉載文章禁止聲明原創(chuàng),更多合作也可郵件至anquanfun@163.com,搜索微信公眾號:安全fun,掃碼可關注。
免責聲明:本公眾號所涉及內容僅供安全研究與教學使用,如出現其他風險,后果自負。
總結
以上是生活随笔為你收集整理的winHex数据恢复(第一篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PR】零基础快速入门教程
- 下一篇: 循环语句的要素C语言,C语言中循环语句(