winhex

winhex

winhex 是一個專門用來對付各種日常緊急情況的工具。它可以用來檢查和修復各種檔案、恢復刪除檔案、硬碟損壞造成的數據丟失等。同時它還可以讓你看到其他程式隱藏起來的檔案和數據。總體來說是一款非常不錯的 16 進制編輯器。得到 ZDNetSoftwareLibrary 五星級最高評價,擁有強大的系統效用。

基本信息

軟體簡介

具體來說,WinHex 是一款以通用的 16 進制編輯器為核心,專門用來對付計算機取證、數據恢復、低級數據處理、以及 IT 安全性、各種日常緊急情況的高級工具: 用來檢查和修復各種檔案、恢復刪除檔案、硬碟損壞、數位相機卡損壞造成的數據丟失等。功能包括 (依照授權類型):

* 查看,編輯和修復磁碟,可用於硬碟,軟碟,以及許多其它可存儲介質類型。

*支持 FAT12/16/32, exFAT, NTFS, Ext2/3/4, Next3, CDFS, UDF

* 內置RAID和動態磁碟分析器

* RAM 編輯器,可直接查看/編輯被調試程式的虛擬記憶體

* 數據解釋器,精通 20 種數據類型

* 使用模板編輯數據結構

* 連線,分割,合併,分析和比較檔案

* 智慧型搜尋和替換功能,進行替換時,如果替換字元大於或小於原始字元時可進行選擇性操作

* 不同驅動器克隆以及驅動器鏡像解釋

* 腳本和應用程式接口(API)

* 用於檔案和磁碟的成熟的撤消和備份機制

* 加密和解密數據,Hash計算(校驗和,CRC32,MD5,SHA-1,...)

* 粉碎檔案和磁碟數據,粉碎後的檔案和磁碟數據任何人都不可能進行恢復

* 支持所有剪貼簿格式的導入

* 數據格式轉換,支持二進制,16 進制 ASCII,Intel 16 進制,及 Motorola-S 等數據之間的相互轉換;

* 隱藏數據和查找隱藏數據

*支持打開超過4GB的檔案,而且速度很快

* 用於計算機進程的眾多顯著有效的高級功能

功能特點

在Winhex中集成了強大的工具,包括磁碟編輯器,Hex轉換器和RAM編輯工具,並能夠方便的調用系統常用工具如:計算器,記事本,瀏覽器等。在未登記註冊的版本中,可以編輯,但不能保存大小超過512K的檔案且只能瀏覽而不能修改編輯RAM區域。按F8,彈出十六進制和十進制轉換器,左邊欄顯示十六進制數字,右邊欄顯示十進制數字。如果你在左邊輸入十六進制數,按Enter其十進制結果就出現在右邊的矩形框中了,反之亦然。如果你按組合鍵Alt+F8,可調用系統計算器。

Winhex使用簡單,功能強大,可以方便你程式的調試、文本編輯、科學計算和系統管理,相信你會喜歡的。如果你想刪除Winhex軟體,簡單,把整個目錄幹掉就行了

在DOS時代,我們編輯檔案代碼用的一般都是PCTOOLS5.0,可是自從FAT32出現以來,PCTOOLS5.0不能用了,就很少優秀的檔案編輯器出現過,不過現在筆者向大家介紹的這一款winhex可以說是繼前者之後的最優秀的檔案編輯器了。

作為一個16進制檔案編輯與磁碟編輯軟體。WinHex以檔案小、速度快,功能強大而著稱,連ZDNetSoftwareLibrary也給了他5星的最高評價。它可以勝任Hex和ASCII碼編輯修改,多檔案尋替換功能,一般運算及邏輯運算,磁碟磁區編輯(支持FAT16、FAT32和NTFS)自動搜尋編輯,檔案比對和分析,編輯記憶體裡面的資料等功能.

首先我們到這裡去下載一個814KB大小的中文漢化版本的WINHEX,漢化版本更加容易使用嘛,值得一提的是WINHEX是免費軟體,你可以在所有的WINDOWS平台上面運行。安裝過程非常簡單,成功安裝之後,程式圖示就會出現在“開始→程式”選單和桌面上。其界面由標題欄、工具列、選單欄、圖片瀏覽區和狀態欄組成。下面我們來簡要介紹一下:

◇功能選單:WINHEX的選單欄由八個選單組成,分別是:檔案、編輯、查找、位置、工具、選項、檔案管理器、視窗和幫助。所有的功能都已經包含在裡面了。在檔案選單裡面包含的是新建、打開檔案和保存以及退出命令,另外還有備份管理、創建備份和載入備份功能。在編輯選單裡面除了複製貼上之類的常見命令之外還有對數據格式進行轉換和修改的功能。查找功能是方便您在檔案裡面查找特定的文本內容或者是十六進制代碼的,支持整數值和浮點數值。位置選單裡面的命令就是讓你在編輯大體積的檔案的時候能夠方便地進行定位,你可以根據其中的偏移地址或者是區塊的位置來快速定位。工具選單裡面包括的都是一些十分實用的功能,譬如磁碟編輯工具(類似PCTOOLS裡面的DISKEDIT)、文本編輯工具(類似記事本)、計算器、模板管理工具和十進制、十六進制轉換器等等。如果你要對WINHEX的功能進行設定,那么就必須進入選項選單了,裡面除了常規選項的設定,還有安全性設定和還原選項設定。在檔案管理選單中,你可以對檔案進行分割、比較、複製和剖析,功能十分強大。“工具”選項裡面包含的是檔案新建、打開、保存、列印、屬性工具;剪下、貼上和複製編輯工具;查找文本和Hex值,替換文本和Hex值;檔案定位工具、RAM編輯器、計算器、區塊分析和磁碟編輯工具等等。這些功能除了在選單裡面進行選擇之外,還可以通過選單下面的一列快捷按鈕來執行。

◇在使用Winhex時首先打開一個需要處理的檔案,視窗中顯示十六進制HEX格式的數值和地址。在旁邊的區域顯示檔案名稱稱、大小、創建時間、最後修改日期,視窗屬性以及相關信息。利用滑鼠拖放功能你可以選擇一塊數值進行修改編輯。按Ctrl+T,彈出數據修改對話框,選擇數據類型和位元組變換方式,可以方便的修改區塊中的數據。執行檔案選單中的創建備份命令,彈出備份對話框,你可以指定備份的檔案名稱和路徑、備份說明,還可以選擇是否自動由備份管理指定資料夾,是否保存檢查和摘要,是否壓縮備份和加密備份,這樣你可以方便的將你的檔案進行備份,下次執行檔案選單中的裝載備份就可以打開備份檔案了,十分方便

◇強大的查找功能:Winhex具有強大的查找搜尋功能,可以查找和替換文本或Hex值。選擇搜尋選單中的聯合搜尋項,彈出搜尋對話框,先輸入該檔案要搜尋的十六進制值選擇通配符和搜尋的範圍就可以開始搜尋了。你可以選擇在整個檔案中搜尋,也可選擇僅在區塊中進行有條件的搜尋。而且在Winhex中可以方便的進行定位操作,快速轉道新的位置。執行定位選單中的標記定位命令,或按Ctrl+L,將滑鼠指向需要定位的位置,就可以在當前滑鼠所在的位置作上標記,不管你操作到什麼地方,按組合鍵Ctrl+k,就可以返回到標記所在的位置。執行定位選單中的刪除標記命令,可以將所作的標記刪除。除了利用標記定位以外,你還可以方便的轉到檔案的開始和結尾,區塊的開始和結尾,行首和行尾以及頁首和頁尾。你可以自己試一試,相信你很快就知道了。

◇Winhex集成了強大的工具,包括磁碟編輯器,計算器,Hex轉換器和RAM編輯工具,使用十分方便。按F9,彈出磁碟編輯器對話框,首先選擇磁碟分區,然後按確定按鈕就可以方便的對磁碟的空餘空間進行清理。點擊工具列中的RAM編輯工具按鈕,彈出RAM編輯器,選擇需要瀏覽或編輯修改的RAM區,選擇確定就可以了,RAM的內容就顯示在主視窗了。

如果您在PCTOOLS之後再也沒有碰到過稱心的十六進制編輯器,那么我推薦你使用WINHEX。

功能包括:

- 硬碟, 軟碟, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁碟編輯器。

- 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 檔案系統。

- 支持對磁碟陣列 RAID 系統和動態磁碟的重組、分析和數據恢復。

- 多種數據恢復技術。

- 可分析 RAW 格式原始數據鏡像檔案中的完整目錄結構,支持分段保存的鏡像檔案。

- 數據解釋器, 已知 20 種數據類型。

- 使用模板編輯數據結構 (例如: 修復分區表/引導扇區)。

- 連線和分割、以奇數偶數位元組或字的方式合併、分解檔案。

- 分析和比較檔案。

- 搜尋和替換功能尤其靈活。

- 磁碟克隆 (可在 DOS 環境下使用 X-Ways Replica)。

- 驅動器鏡像和備份 (可選壓縮或分割成 650 MB 的檔案)。

- 程式接口 (API) 和腳本。

- 256 位 AES 加密, 校驗和, CRC32, 哈希算法 (MD5, SHA-1, ...)。

- 數據擦除功能,可徹底清除存儲介質中殘留數據。

- 可導入剪貼簿所有格式數據, 包括 ASCII、16 進制數據。

- 可進行 2 進制、16 進制 ASCII, Intel 16 進制, 和 Motorola S 轉換。

- 字元集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)。

- 立即視窗切換、列印、生成隨機數字。

- 支持打開大於 4 GB 的檔案,非常快速,容易使用。

- 廣泛的在線上幫助。

注意事項

WinHex 計算機法證版

X-Ways Forensics- 它能讓計算機上所有的位和位元組都在您的指尖下變成現實。購買前可免費試用。

X-Ways Forensics 13.9 以後的版本只有正式用戶才可下載 (下載地址在購買後提供)。

特別注意

儘量不要解壓至中文名資料夾下,否則運行出錯!

更新日誌

V16.8更新內容:

WinHex可以用來檢查和修復各種檔案、恢復刪除檔案、硬碟損壞造成的數據丟失等。

12.8 sr-2更新內容:

* 現在可以在容器根層遞歸探索證據對象概況, 在基於動態填充設定上,可以在一個方便的平面視圖中列出所有子目錄中的所有檔案。

* X-Ways Forensics 現在可以在內部重新彙編硬體 RAID5 系統到級別 0,並且支持奇偶校驗。

* 如果一個 RAID 系統添加到一個容器作為證據對象,當名稱或位置改變時現在可以很容易替換 RAID 系統的一部分。

* 一些在 RAM 編輯器中被隱藏的進程現在能夠列出。

* 現在可以間接填充證據檔案內容。

* 可以選取報告表中某幾列到容器報名中。(查看容器屬性)

* 更進一步改進檔案路徑太長的兼容性。

* 修正 12.7 版本自動檢測物理磁碟 RAW 映象為單獨的分區映象。

* 幾個其它局部改進和錯誤修正

* 針對 UFS 線上提供不同的模板。

* 更多更新內容請到網站時事通訊中查看

教程

設定中文的方法

點擊選單欄最後的“help”-“setup”-“Chinese,please!”

軟體使用說明

下面我們來看看該軟體的使用。

標題欄:與一般的套用軟體一樣,標題欄中顯示軟體名稱和當前打開的檔案名稱稱;

選單欄:Winhex的選單欄由八個選單項組成-檔案選單、編輯選單、搜尋、定位、工具、選項選單、檔案管理、視窗和幫助選單。

在檔案選單中,除了常規的新建、打開檔案和保存以及退出命令以外,還有備份管理、創建備份和載入備份功能。選擇檔案選單中的屬性項,彈出檔案屬性視窗,包括檔案路徑、名稱、大小、創建時間和修改日期等內容。在編輯選單中,除了常規的複製、貼上和剪下功能外,還有數據格式轉換和修改的功能。在搜尋選單中,你可以查找或替換文本內容和十六進制檔案,搜尋整數值和浮點數值。在定位選單中,你可以根據偏移地址和區塊的位置快速定位。在工具選單中,包括磁碟編輯工具、文本編輯工具、計算器、模板管理工具和Hex轉換器,使用十分方便。在選項選單中,包括常規選項設定、安全性設定和還原選項設定。

在Winhex的工具列中,包括檔案新建、打開、保存、列印、屬性工具;剪下、貼上和複製編輯工具;查找文本和Hex值,替換文本和Hex值;檔案定位工具、RAM編輯器、計算器、區塊分析和磁碟編輯工具;選項設定工具和幫助工具按鈕。通過使用工具列中的快捷按鈕可以更方便的進行操作,這些和選單中相應的命令是一樣的。

在使用Winhex之前需要進行相應的選項設定,點擊工具列中的選項設定快捷圖示按鈕,彈出選項設定對話框.它包括是否將WinHex作為默認關聯,是否添加WinHex到上下文選單,是否不更新檔案名稱,是否快速打開檔案以及是否顯示檔案圖示和工具列。而且你還可以設定最近打開的檔案列表中檔案的數目,選擇是否用TAB鍵產生標記,設定臨時資料夾、備份資料夾和文本編輯的路徑。在常規設定中,你可以選擇是否選擇顯示雙游標和頁分隔設定,是否逐行滾動,是否顯示Windows進度條,此外你還可以設定字型類型和顏色,相信你很快就學會了。執行選項選單中的安全項,彈出安全保護選項設定視窗,你可以選擇是否限制驅動控制,是否計算標準檢查和扇區讀入快取以及是否確認更新檔案。另外你可以選擇是否自動檢查磁簇,是否總顯示恢復報告,是否對下個會話保持驅動映像,是否隱蔽輸入加密關鍵碼(*****)以及檢查虛擬記憶體變換和在RAM中是否保留密匙。在所有設定完成後,點擊保存按鈕,然後按確定按鈕返回主視窗。

數據恢復分類

硬恢復和軟恢復。所謂硬恢復就是硬碟出現物理性損傷,比如有盤體壞道、電路板晶片燒毀、盤體異響,等故障,由此所導致的普通用戶不容易取出裡面數據,那么我們將它修好,同時又保留裡面的數據或後來恢復裡面的數據,這些都叫數據恢復,只不過這些故障有容易的和困難的之分;所謂軟恢復,就是硬碟本身沒有物理損傷,而是由於人為或者病毒破壞所造成的數據丟失(比如誤格式化,誤分區),那么這樣的數據恢復就叫軟恢復。因為硬恢復還需要購買一些工具設備(比如pc3000,電烙鐵,各種晶片、電路板),而且還需要懂一點點電路基礎,我們主要使用軟恢復。

數據恢復的前提

數據不能被二次破壞、覆蓋!

硬碟數據結構

下面是一個分了三個區的整個硬碟的數據結構

MBR C糟EBRD糟 EBR E盤

MBR,即主引導紀錄,位於整個硬碟的0柱面0磁軌1扇區,共占用了63個扇區,但實際只使用了1個扇區(512位元組)。在總共512位元組的主引導記錄中,MBR又可分為三部分:第一部分:引導代碼,占用了446個位元組;第二部分:分區表,占用了64位元組;第三部分:55AA,結束標誌,占用了兩個位元組。後面我們要說的用winhex軟體來恢復誤分區,主要就是恢復第二部分:分區表。

引導代碼的作用

就是讓硬碟具備可以引導的功能。如果引導代碼丟失,分區表還在,那么這個硬碟作為從盤所有分區數據都還在,只是這個硬碟自己不能夠用來啟動進系統了。如果要恢復引導代碼,可以用DOS下的命令:FDISK /MBR;這個命令只是用來恢復引導代碼,不會引起分區改變,丟失數據。另外,也可以用工具軟體,比如DISKGEN、WINHEX等。

但分區表如果丟失,後果就是整個硬碟一個分區沒有,就好像剛買來一個新硬碟沒有分過區一樣。是很多病毒喜歡破壞的區域。

EBR,也叫做擴展MBR(Extended MBR)。因為主引導記錄MBR最多只能描述4個分區項,如果想要在一個硬碟上分多於4個區,就要採用擴展MBR的辦法。

MBR、EBR是分區產生的。

比如MBR和EBR各都占用63個扇區,C糟占用1435329個扇區……那么數據結構如下表:

63 1435329 63 1435329 63 1253889

MBR C糟 EBR D糟 EBR E盤

擴展分區

而每一個分區又由DBR、FAT1、FAT2、DIR、DATA5部分組成:比如C 盤的數據結構:

C 盤

DBR FAT1 FAT2 DIR DATA

恢復教程

Winhex有完善的分區管理功能和檔案管理功能,能自動分析分區鏈和檔案簇鏈,能對硬碟進行不同方式不同程度的備份,甚至克隆整個硬碟;它能夠編輯任何一種檔案類型的二進制內容(用十六進制顯示)其磁碟編輯器可以編輯物理磁碟或邏輯磁碟的任意扇區,是手工恢複數據的首選工具軟體。

首先要安裝Winhex,安裝完了就可以啟動winhex了,啟動後,首先出現的是啟動中心對話框。

這裡我們要對磁碟進行操作,就選擇“打開磁碟”,出現“編輯磁碟”對話框:

在這個對話框裡,我們可以選擇對單個分區打開,也可以對整個硬碟打開,HD0是我現在正用的西部數據40G系統盤,HD1是我們要分析的硬碟,邁拓2G。這裡我們就選擇打開HD1整個硬碟,再點確定.然後我們就看到了Winhex的整個工作界面。

最上面的是選單欄和工具列,下面最大的視窗是工作區,現在看到的是硬碟的第一個扇區的內容,以十六進制進行顯示,並在右邊顯示相應的ASCII碼,右邊是詳細資源面板,分為五個部分:狀態、容量、當前位置、視窗情況和剪貼簿情況。這些情況對把握整個硬碟的情況非常有幫助。另外,在其上單擊滑鼠右鍵,可以將詳細資源面板與視窗對換位置,或關閉資源面板。(如果關閉了資源面板可以通過“察看”選單——“顯示”命令——“詳細資源面板”來打開)。

最下面一欄是非常有用的輔助信息,如當前扇區/總扇區數目……等

向下拉拉滾動條,可以看到一個灰色的橫槓,每到一個橫槓為一個扇區,一個扇區共512位元組,每兩個數字為一個位元組,比如00。

下面我們來分析一下MBR,因為前面我們說過,前446個位元組為引導代碼,對我們來說沒有意義,這裡我們只分析分區表中的64個位元組。

分區表64個位元組,一共可以描述4個分區表項,每一個分區表項可以描述一個主分區或一個擴展分區(比如上面的分區表,第一個分區表項描述主分區C糟,第二個分區表項描述擴展分區,第三第四個分區表項填零未用)

每一個分區表項各占16個位元組,各位元組含義如下:(H表示16進制)

位元組位置 內容及含義

第1位元組 引導標誌。若值為80H表示活動分區;若值為00H表示非活動分區。

第2、3、4位元組 本分區的起始磁頭號、扇區號、柱面號

第5位元組 分區類型符:

00H——表示該分區未用

06H——FAT16基本分區

0BH——FAT32基本分區

05H——擴展分區

07H——NTFS分區

0FH——(LBA模式)擴展分區

83H—— Linux分區

第6、7、8位元組 本分區的結束磁頭號、扇區號、柱面號

第9、10、11、12位元組 本分區之前已用了的扇區數

第13、14、15、16位元組 本分區的總扇區數

此硬碟的第一分區表(即MBR)分析如下:

第一個分區表項(C糟)

第1位元組80:表示此分區為活動分區;

第5位元組0B:表示分區類型為Fat32;

第9、10、11、12位元組 系統隱含扇區3F 00 00 00:所謂系統隱含扇區就是本分區(C糟)之前已用了的扇區數,這是一個十六進制數,但要注意:真正的隱含扇區數應該反過來填寫(比如:隱含扇區數為3E 4D 5A 6F,則反過來就是6F 5A 4D 3E ,這才是實際的隱含扇區數)。那么,3F 00 00 00反過來寫就是00 00 003F,也就是3F,將他轉成十進制數我們才能知道實際的隱含扇區數是多大。這可以使用計算器來算,單擊工具列上的“計算器”按鈕,如下圖:

這樣就啟動了計算器

計算器有兩種型號,我們要進行進制轉換,就要選擇“科學型”

比如我們要將十六進制3F轉換為十進制,就要先選中“十六進制”,然後輸入3F

再選中“十進制”,十六進制3F轉為十進制等於63。想一想我們前面所講的,MBR占用63個扇區,也就是C糟之前已用了的扇區數為63,第64個扇區就是C糟的第一個扇區,但要注意的是,整個硬碟的LBA地址是從零開始的,0~62的扇區為MBR。

第13、14、15、16位元組本分區總扇區數(當然,這也就是C糟的大小):C1 E6 15 00,同樣,實際的十六進制數也要反過來才對,也就是00 15 E6 C1,將它轉換成十六進制數是1435329。給你出個題,你知道D糟的EBR在哪個扇區嗎?我們一起來算一下,還記得前面數據結構那個表嗎?C糟後面不就是D糟的EBR嗎?D糟EBR的第一個扇區=MBR+C糟的大小,也就是 63+1435329=1435392。

我們來看看對不對,單擊工具列上的“轉到扇區”按鈕,出現一個“轉到扇區”對話框

然後輸入1435392,再點“確定”,就到了1435392扇區了(你可以使用它再轉回到0扇區)

這個就是D糟的EBR,也就是D糟的分區表了,怎么知道的呢?因為MBR和EBR的結構是完全一樣的,都是占用了63個扇區,但只用了第一個扇區,其餘62個扇區填零不用。第一個扇區前446個位元組都為引導代碼,後64個位元組為分區表,最後2個位元組為55AA結束標誌。因為EBR不是活動分區,不需要引導代碼,所以前446個位元組為零。

還有另一種方法直接找到D糟的EBR,扇區.

這樣,分區表中的第一個分區表項共十六個位元組分析完畢,下面我們再來看看第二個分區表項(擴展分區)。

第1位元組00:表示非活動分區

第5位元組05:表示擴展分區

第9、10、11、12位元組00 E7 15 00:本分區之前的扇區數(擴展分區前面也就是MBR和C糟,好像我們前面算過這個數?)同樣,先將它反過來,就是00 15 E7 00 ,再轉為十進制是1435392,看來我們前面真的算過這個數。

第13、14、15、16位元組40 09 29 00:本分區的總扇區數。也就是擴展分區的總扇區數。轉為十進制應該是2689344。想一想,用這個數加上前面的1435392,不正好是整個硬碟的總扇區數4124736嗎?

這樣,如果分區表被破壞,我們只要把這些數值都計算出來並填上,分區表不就恢復了?那么,這裡我們為什麼不分析第2、3、4位元組(本分區的起始磁頭號、扇區號、柱面號)和第6、7、8位元組(本分區的結束磁頭號、扇區號、柱面號)呢?這是因為C/H/S(柱面/磁頭/扇區)是老式硬碟的定址方式,這種定址方式來管理硬碟效率很低;而現在幾乎所有的硬碟都支持LBA(全稱是Logic Block Address,即扇區的邏輯塊地址)定址方式,這種管理方式簡單高效。在LBA方式下,系統把所有的物理扇區都統一編號,按照從零到某個最大值排列,這樣只用一個序數就確定了一個唯一的物理扇區。

小知識:具體一個硬碟有多少個LBA(扇區)不需要我們去記憶,因為用各種工具軟體(如MHDD WINHEX等)都可以檢測到。我們只要知道個大概就行了:如10G的硬碟大概有2000萬個扇區;20G的硬碟大概有4000萬個扇區;40G的硬碟大概有8000萬個扇區……那么,2G的硬碟大概有400萬個扇區。

那么,你可能要問了:如果要恢復分區表,這個起始磁頭號、扇區號、柱面號還有結束磁頭號、扇區號、柱面號應該怎么填呢?簡單得很,在後面恢復分區表的時候我會告訴你,直接填,都不用計算。

還有興趣來分析一下D糟的EBR嗎?

其實D糟的EBR和E盤的EBR我們不分析也罷,因為無非也是分區表,跟MBR的結構是一樣的,但卻很容易把我們繞暈,又因為EBR一般不容易被破壞,所以我不建議分析EBR。

但如果你一定要分析,那就分析吧。

單擊“訪問”下拉按鈕——“分區二”——“分區表”,直接就到1435392扇區,即D糟的分區表EBR。

第一個分區表項(D糟):

第1個位元組00:表示非活動分區

第5個位元組06:表示FAT16分區

第9、10、11、12位元組3F 00 00 00:本分區之前已用了的扇區數,也就是EBR的數目,63個。

第13、14、15、16位元組C1 E6 15 00:本分區的總扇區數,也就是D糟的扇區數,先反過來排列就是00 15 E6 C1,轉為十進制就是1435329。

第二個分區表項(D糟後面的):

第1個位元組00:表示非活動分區

第5個位元組05:表示擴展分區

第9、10、11、12位元組00 E7 15 00:本分區之前已用了的扇區數,也就是D糟的EBR加D糟總共的大小, 63+1435329=1435392

第13、14、15、16位元組40 22 13 00:本分區的總扇區數,1253952,也就是E盤的大小再加上一個EBR的數目。

單擊“訪問”下拉按鈕——“分區三”——“分區表”,直接就到2870784扇區,即E

盤的分區表EBR。因為E盤後面沒有分區了,所以沒有第二個分區表項。這裡我們就不再研究了,有興趣的話可以自己多備一塊硬碟作從盤,然後自己分分區研究研究。

通過以上的研究我們總結一下,MBR在定義分區的時候,將多餘的容量定義為擴展分區,指定該擴展分區的起止位置,根據起始位置指向硬碟的某一個扇區,作為下一個分區表項,接著在該扇區繼續定義分區,如果只有一個分區,就定義該分區,然後結束;如果不止一個分區,就定義一個基本分區和一個擴展分區,擴展分區再指向下一個分區描述扇區,在該分區上按照上述原則繼續定義分區,直至分區定義結束。這些用來描述分區的扇區形成一個“分區鏈”,通過這個分區鏈,就可以描述所有的分區。系統在啟動時按照分區鏈的連線順序查找分區,直至找出所有分區。這個鏈顯然是個開鏈結構,如果形成一個環,系統本身並不會去判斷它,它只是按照這個鏈忠實的查找分區,而不進行任何額外的檢測與處理。所謂硬碟邏輯鎖,就是讓分區鏈形成一個環,這樣系統在啟動時就在分區表內循環,表現為系統無法引導,就是從軟碟啟動,也不能進入硬碟。明白了其結構原理,解決這個問題就簡單了,目前有很多種方法解決這個問題,後面我們還會講到。系統就是利用這種方法使一個硬碟分區後看起來象多個硬碟。系統能夠找到C糟以外的其他邏輯盤的唯一辦法就是,沿著EBR所描述的分區鏈查找分區。

其實,通常情況下EBR是不會被破壞的,或者破壞的幾率極低極低,通常情況下,都是只有MBR被破壞,那么這種情況下,我們只要把MBR的分區表64個位元組復原,其他的分區順著分區表所提供的鏈自然而然就出來了。那么,如何才能將分區表復原呢?這就要通過計算結合Winhex強大的功能來實現了。

下面我們就來模仿分區表被病毒破壞的情況,將MBR全部填零。我們首先將MBR所在的扇區選中。滑鼠指向第一個位元組,單擊右鍵,選擇“選塊開始”

然後滑鼠指向MBR的最後一個位元組,單擊右鍵,選擇“選塊結尾”

然後我們在選區內部單擊滑鼠右鍵,選擇“編輯”

這樣就有出來一個選單

然後我們選“填充選塊”,這樣就出來一個填充選塊對話框

在“用十六進制填充”的輸入框中輸入“00”,再點“確定”

這樣MBR所在扇區全部被我們填充為“00”

如果想取消選區,那就用滑鼠拖動隨便選中一塊區域,那么原來的選區就會取消。注意,如果扇區數據被修改了而沒有存檔就會變為別的顏色。

修改了扇區,這時候還沒有存檔生效,如果你想存檔生效的話,就選擇“檔案”選單“保存扇區”命令。

這時候就會出現一個提示,如果你不想存檔了就點取消,如果想存檔,就點確定,再點是。

好,這樣就存檔了,扇區被修改的數據又變為黑色。

這樣我們就把分區表給刪除了,這時候必須重新啟動才能生效,如果你打開我的電腦,會發現三個分區(F 、G、 H)還在那裡,並且裡面的數據還能正常使用。

現在,我們關閉所有程式將電腦重新啟動……

經過不長時間的等待,電腦啟動起來了,我們打開我的電腦看看,發現F 、G 、H三個分區不見了。

再打開Winhex發現MBR全部為零了,下面我們就著手開始手工恢復分區表

首先恢復引導代碼,這最簡單了,只要用Winhex到別的系統盤把引導代碼複製過來就行了。我現在的機器上不是掛著兩個硬碟嗎?一個邁拓2G,一個西數40G,西數40G是我的系統盤,那就從這個盤上複製就行了。

單擊“磁碟編輯器”按鈕

出現“編輯磁碟”對話框

選擇“HD0WDC WD400EB---00CPF0”,點“確定”

這樣我們就把系統盤的分區表給打開了,注意,現在我們是打開了兩個視窗,當前的視窗是“硬碟0”,在標題欄上有顯示。另外,打開視窗選單也能看出來,當前視窗被打上一個勾,如果想切換回原來的視窗,就點擊“硬碟1”。

首先選中系統盤的引導代碼

然後在選區中單擊滑鼠右鍵,選“編輯”

又出來一個選單,然後我們選“複製選塊”——“正常”

然後我們切換回硬碟1視窗,在零扇區的第一個位元組處單擊滑鼠右鍵,選“編輯”

然後選“剪貼簿數據”——“寫入……”

出現一個視窗提示,點“確定”

這樣,我們就把一個正常系統盤上的引導代碼複製過來了。

下面,我們就開始恢復分區表(共64個位元組,分為4個分區表項,每個分區表項占用16個位元組,一般只使用前兩個分區表項),我們首先來恢復第一個分區標項(也就是用來描述C糟的)。

首先,在第1個位元組處(0扇區倒數第五行,倒數第二個位元組)填上分區引導標誌,因為C糟是活動分區,所以填上80。

接著是第2、3、4位元組(本分區起始磁頭號、扇區號、柱面號),填上:01 01 00。

第5位元組是分區類型符,因為原先C糟是Fat32格式,所以填上:0B。那么,如果你不知道C糟是什麼格式怎么辦呢?你會說問問客戶呀,那么如果他也不知道呢?別著急,後面在說恢復DBR的時候我會教你怎么分辨分區的格式。

第6、7、8位元組是本分區的結束磁頭號、扇區號、柱面號,這怎么知道呢?別著急,現在的磁碟都是按照LBA方式定址,並不按照C/H/S(及柱面、磁頭、扇區)方式定址,所以這個地方你填些什麼一般關係不大,但是我要告訴你有一個通用的填法,那就是:FE FF FF。

第9、10、11、12位元組,本分區之前已用了的扇區數,也就是MBR所占用的扇區數,那不是63嗎?對,但是要將63轉為十六進制數,再反過來倒著填寫上。還記得怎么用計算器嗎?將63轉為十六進制數是3F,不夠四個位元組前面加零,也就是00 00 00 3F,再將此數從右向左依次序反過來就是3F 00 00 00。

第13、14、15、16位元組是本分區的總扇區數,也就是C糟的大小,這就要通過稍微一點點計算來得到了。因為C糟是從第63個扇區開始,而C糟後面緊接著的是EBR,所以用EBR所在的第一個扇區數減去63就是C糟的大小。那么如何才能找到EBR所在的第一個扇區呢?我們前面說過,EBR的結構和MBR是一樣的,所以,EBR的結束標誌也一定是55AA,那么,只要我們找到這個結束標誌,再看看這個扇區是不是EBR不就行了?

單擊“搜尋”——“查找十六進制數值……”,然後出來一個對話框

在文本框中輸入“55AA”,搜尋框中選“全部”,然後選中“條件”,把偏移量設定為“512=510”。

再單擊“確定”。畫面如下:

首先找到第一個“55AA”,我們看到,個扇區在第63個扇區上,並不是我們要找的EBR,再按F3繼續查找

又找到好幾個扇區,都不是,那么下面這個扇區是不是?

前面我們說過,EBR的結構和MBR的結構是一樣的,所以在倒數第五行倒數第二個位元組應該是00 01,並且前446個位元組應該是0,顯然這也不是EBR,繼續按F3查找……終於找到了真正的EBR,在1435392扇區。

小技巧:現在的硬碟都比較大,要逐個扇區的查找55AA確實太慢了,那么有沒有辦法快點呢?有,那就是先問問客戶C糟大概有多大,大多數客戶還是知道的,比如他說C糟大概有10個G,那么你就不要從頭開始找了,因為那實在太慢了。10個G大概是2000萬個扇區,那么你可以用轉到扇區命令直接到1900萬扇區,從那個地方再開始找不就省事多了。

用1435392減去63,得到1435329,再轉為16進制,就是15E6C1,將他倒轉過來就是C1E61500,這就是C糟的大小。這樣,第一個分區表項填寫完畢,我們保存一下,再接著填寫第二個分區表項。

第二個分區表第1個位元組:因為是非活動分區,所以寫00

第2、3、4位元組,填寫01 01 00(通用的)

第5位元組:因為是擴展分區,所以填寫0F

第6、7、8位元組:填寫FE FF FF(通用)

第9、10、11、12位元組是本分區之前已用了的扇區數,應該就是C糟大小加63,也就是1435392,前面剛計算出來的,轉為十六進制數再反過來就是00 E7 15 00

第13、14、15、16位元組是本分區的總扇區數,也就是擴展分區的總扇區數,也就是用整個硬碟的大小減去C糟的大小再減去63,即4124736 -1435329-63=2689344,轉為十六進制就是290940,反過來就是40092900。

這樣,第二個分區表項就填寫完了。

不要忘了把最後的結束標誌55AA填上,這樣,MBR就全恢復完了,最後,保存,再重新啟動……

啟動完畢,迫不及待的打開我的電腦,發現三個分區全部又回來了,並且裡面的數據完好無損。

再右擊“我的電腦”,選“管理”

出現一個對話框,選“磁碟管理”,在右邊可以看到磁碟一的三個分區(Fat32、Fat16、Ntfs)全部都回來了,至此,手工恢復分區表順利完成。

手工恢複數據恢復成功率比較高,而且比較有趣味和挑戰性,能找回許多傻瓜似的軟體所找不回來的檔案,但是要求工程師一定要有耐性,而且一定要保持清醒,清楚自己正在操作什麼,操作完了會有什麼後果,能不能退回到上一步狀態。特別是對一些破壞性操作,一定要考慮周到,只要條件允許,就一定要在操作之前進行備份,否則會造成“血”的教訓,切記!

相關詞條

相關搜尋

熱門詞條

聯絡我們