具體來說,WinHex是一款以通用的 16 進制編輯器為核心,專門用來對付計算機取證、數(shù)據(jù)恢復(fù)、低級數(shù)據(jù)處理、以及 IT 安全性、各種日常緊急情況的高級工具:用來檢查和修復(fù)各種文件、恢復(fù)刪除文件、硬盤損壞、數(shù)碼相機卡損壞造成的數(shù)據(jù)丟失等。功能包括(依照授權(quán)類型):
* 查看,編輯和修復(fù)磁盤,可用于硬盤,軟盤,以及許多其它可存儲介質(zhì)類型。
*支持 FAT12/16/32, exFAT, NTFS, Ext2/3/4, Next3, CDFS, UDF
* 內(nèi)置RAID和動態(tài)磁盤分析器
* RAM 編輯器,可直接查看/編輯被調(diào)試程序的虛擬內(nèi)存
* 數(shù)據(jù)解釋器,精通 20 種數(shù)據(jù)類型
* 使用模板編輯數(shù)據(jù)結(jié)構(gòu)
* 連接,分割,合并,分析和比較文件
* 智能搜索和替換功能,進行替換時,如果替換字符大于或小于原始字符時可進行選擇性操作
* 不同驅(qū)動器克隆以及驅(qū)動器鏡像解釋
* 腳本和應(yīng)用程序接口(API)
* 用于文件和磁盤的成熟的撤消和備份機制
* 加密和解密數(shù)據(jù),Hash計算(校驗和,CRC32,MD5,SHA-1,...)
* 粉碎文件和磁盤數(shù)據(jù),粉碎后的文件和磁盤數(shù)據(jù)任何人都不可能進行恢復(fù)
* 支持所有剪貼板格式的導(dǎo)入
* 數(shù)據(jù)格式轉(zhuǎn)換,支持二進制,16 進制 ASCII,Intel 16 進制,及 Motorola-S 等數(shù)據(jù)之間的相互轉(zhuǎn)換;
* 隱藏數(shù)據(jù)和查找隱藏數(shù)據(jù)
*支持打開超過4GB的文件,而且速度很快
* 用于計算機進程的眾多顯著有效的高級功能
在Winhex中集成了強大的工具,包括磁盤編輯器,Hex轉(zhuǎn)換器和RAM編輯工具,并能夠方便的調(diào)用系統(tǒng)常用工具如:計算器,記事本,瀏覽器等。在未登記注冊的版本中,可以編輯,但不能保存大小超過512K的文件且只能瀏覽而不能修改編輯RAM區(qū)域。按F8,彈出十六進制和十進制轉(zhuǎn)換器,左邊欄顯示十六進制數(shù)字,右邊欄顯示十進制數(shù)字。如果你在左邊輸入十六進制數(shù),按Enter其十進制結(jié)果就出現(xiàn)在右邊的矩形框中了,反之亦然。如果你按組合鍵Alt+F8,可調(diào)用系統(tǒng)計算器。
Winhex使用簡單,功能強大,可以方便你程序的調(diào)試、文本編輯、科學(xué)計算和系統(tǒng)管理,相信你會喜歡的。如果你想刪除Winhex軟件,簡單,把整個目錄干掉就行了
在DOS時代,我們編輯文件代碼用的一般都是PCTOOLS5.0,可是自從FAT32出現(xiàn)以來,PCTOOLS5.0不能用了,就很少優(yōu)秀的文件編輯器出現(xiàn)過,不過現(xiàn)在筆者向大家介紹的這一款winhex可以說是繼前者之后的最優(yōu)秀的文件編輯器了。
作為一個16進制文件編輯與磁盤編輯軟件。WinHex以文件小、速度快,功能強大而著稱,連ZDNetSoftwareLibrary也給了他5星的最高評價。它可以勝任Hex和ASCII碼編輯修改,多文件尋替換功能,一般運算及邏輯運算,磁盤磁區(qū)編輯(支持FAT16、FAT32和NTFS)自動搜尋編輯,文件比對和分析,編輯內(nèi)存里面的資料等功能.
首先我們到這里去下載一個814KB大小的中文漢化版本的WINHEX,漢化版本更加容易使用嘛,值得一提的是WINHEX是免費軟件,你可以在所有的WINDOWS平臺上面運行。安裝過程非常簡單,成功安裝之后,程序圖標(biāo)就會出現(xiàn)在“開始→程序”菜單和桌面上。其界面由標(biāo)題欄、工具欄、菜單欄、圖片瀏覽區(qū)和狀態(tài)欄組成。下面我們來簡要介紹一下:
◇功能菜單:WINHEX的菜單欄由八個菜單組成,分別是:文件、編輯、查找、位置、工具、選項、文件管理器、窗口和幫助。所有的功能都已經(jīng)包含在里面了。在文件菜單里面包含的是新建、打開文件和保存以及退出命令,另外還有備份管理、創(chuàng)建備份和載入備份功能。在編輯菜單里面除了復(fù)制粘貼之類的常見命令之外還有對數(shù)據(jù)格式進行轉(zhuǎn)換和修改的功能。查找功能是方便您在文件里面查找特定的文本內(nèi)容或者是十六進制代碼的,支持整數(shù)值和浮點數(shù)值。位置菜單里面的命令就是讓你在編輯大體積的文件的時候能夠方便地進行定位,你可以根據(jù)其中的偏移地址或者是區(qū)塊的位置來快速定位。工具菜單里面包括的都是一些十分實用的功能,譬如磁盤編輯工具(類似PCTOOLS里面的DISKEDIT)、文本編輯工具(類似記事本)、計算器、模板管理工具和十進制、十六進制轉(zhuǎn)換器等等。如果你要對WINHEX的功能進行設(shè)置,那么就必須進入選項菜單了,里面除了常規(guī)選項的設(shè)置,還有安全性設(shè)置和還原選項設(shè)置。在文件管理菜單中,你可以對文件進行分割、比較、復(fù)制和剖析,功能十分強大?!肮ぞ摺边x項里面包含的是文件新建、打開、保存、打印、屬性工具;剪切、粘貼和復(fù)制編輯工具;查找文本和Hex值,替換文本和Hex值;文件定位工具、RAM編輯器、計算器、區(qū)塊分析和磁盤編輯工具等等。這些功能除了在菜單里面進行選擇之外,還可以通過菜單下面的一列快捷按鈕來執(zhí)行。
◇在使用Winhex時首先打開一個需要處理的文件,窗口中顯示十六進制HEX格式的數(shù)值和地址。在旁邊的區(qū)域顯示文件名稱、大小、創(chuàng)建時間、最后修改日期,窗口屬性以及相關(guān)信息。利用鼠標(biāo)拖放功能你可以選擇一塊數(shù)值進行修改編輯。按Ctrl+T,彈出數(shù)據(jù)修改對話框,選擇數(shù)據(jù)類型和字節(jié)變換方式,可以方便的修改區(qū)塊中的數(shù)據(jù)。執(zhí)行文件菜單中的創(chuàng)建備份命令,彈出備份對話框,你可以指定備份的文件名和路徑、備份說明,還可以選擇是否自動由備份管理指定文件夾,是否保存檢查和摘要,是否壓縮備份和加密備份,這樣你可以方便的將你的文件進行備份,下次執(zhí)行文件菜單中的裝載備份就可以打開備份文件了,十分方便
◇強大的查找功能:Winhex具有強大的查找搜索功能,可以查找和替換文本或Hex值。選擇搜索菜單中的聯(lián)合搜索項,彈出搜索對話框,先輸入該文件要搜索的十六進制值選擇通配符和搜索的范圍就可以開始搜索了。你可以選擇在整個文件中搜索,也可選擇僅在區(qū)塊中進行有條件的搜索。而且在Winhex中可以方便的進行定位操作,快速轉(zhuǎn)道新的位置。執(zhí)行定位菜單中的標(biāo)記定位命令,或按Ctrl+L,將鼠標(biāo)指向需要定位的位置,就可以在當(dāng)前鼠標(biāo)所在的位置作上標(biāo)記,不管你操作到什么地方,按組合鍵Ctrl+k,就可以返回到標(biāo)記所在的位置。執(zhí)行定位菜單中的刪除標(biāo)記命令,可以將所作的標(biāo)記刪除。除了利用標(biāo)記定位以外,你還可以方便的轉(zhuǎn)到文件的開始和結(jié)尾,區(qū)塊的開始和結(jié)尾,行首和行尾以及頁首和頁尾。你可以自己試一試,相信你很快就知道了。
◇Winhex集成了強大的工具,包括磁盤編輯器,計算器,Hex轉(zhuǎn)換器和RAM編輯工具,使用十分方便。按F9,彈出磁盤編輯器對話框,首先選擇磁盤分區(qū),然后按確定按鈕就可以方便的對磁盤的空余空間進行清理。點擊工具欄中的RAM編輯工具按鈕,彈出RAM編輯器,選擇需要瀏覽或編輯修改的RAM區(qū),選擇確定就可以了,RAM的內(nèi)容就顯示在主窗口了。
如果您在PCTOOLS之后再也沒有碰到過稱心的十六進制編輯器,那么我推薦你使用WINHEX。
功能包括:
- 硬盤, 軟盤, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁盤編輯器。
- 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系統(tǒng)。
- 支持對磁盤陣列 RAID 系統(tǒng)和動態(tài)磁盤的重組、分析和數(shù)據(jù)恢復(fù)。
- 多種數(shù)據(jù)恢復(fù)技術(shù)。
- 可分析 RAW 格式原始數(shù)據(jù)鏡像文件中的完整目錄結(jié)構(gòu),支持分段保存的鏡像文件。
- 數(shù)據(jù)解釋器, 已知 20 種數(shù)據(jù)類型。
- 使用模板編輯數(shù)據(jù)結(jié)構(gòu) (例如: 修復(fù)分區(qū)表/引導(dǎo)扇區(qū))。
- 連接和分割、以奇數(shù)偶數(shù)字節(jié)或字的方式合并、分解文件。
- 分析和比較文件。
- 搜索和替換功能尤其靈活。
- 磁盤克隆 (可在 DOS 環(huán)境下使用 X-Ways Replica)。
- 驅(qū)動器鏡像和備份 (可選壓縮或分割成 650 MB 的檔案)。
- 程序接口 (API) 和腳本。
- 256 位 AES 加密, 校驗和, CRC32, 哈希算法 (MD5, SHA-1, ...)。
- 數(shù)據(jù)擦除功能,可徹底清除存儲介質(zhì)中殘留數(shù)據(jù)。
- 可導(dǎo)入剪貼板所有格式數(shù)據(jù), 包括 ASCII、16 進制數(shù)據(jù)。
- 可進行 2 進制、16 進制 ASCII, Intel 16 進制, 和 Motorola S 轉(zhuǎn)換。
- 字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)。
- 立即窗口切換、打印、生成隨機數(shù)字。
- 支持打開大于 4 GB 的文件,非??焖伲菀资褂?。
- 廣泛的聯(lián)機幫助。
WinHex 計算機法證版
X-Ways Forensics- 它能讓計算機上所有的位和字節(jié)都在您的指尖下變成現(xiàn)實。購買前可免費試用。
X-Ways Forensics 13.9 以后的版本只有正式用戶才可下載 (下載地址在購買后提供)。
特別注意
盡量不要解壓至中文名文件夾下,否則運行出錯!
V16.8更新內(nèi)容:
WinHex可以用來檢查和修復(fù)各種文件、恢復(fù)刪除文件、硬盤損壞造成的數(shù)據(jù)丟失等。
12.8 sr-2更新內(nèi)容:
* 現(xiàn)在可以在容器根層遞歸探索證據(jù)對象概況,在基于動態(tài)填充設(shè)置上,可以在一個方便的平面視圖中列出所有子目錄中的所有文件。
* X-Ways Forensics 現(xiàn)在可以在內(nèi)部重新匯編硬件 RAID5 系統(tǒng)到級別0,并且支持奇偶校驗。
* 如果一個 RAID 系統(tǒng)添加到一個容器作為證據(jù)對象,當(dāng)名稱或位置改變時現(xiàn)在可以很容易替換 RAID 系統(tǒng)的一部分。
* 一些在 RAM 編輯器中被隱藏的進程現(xiàn)在能夠列出。
* 現(xiàn)在可以間接填充證據(jù)文件內(nèi)容。
* 可以選取報告表中某幾列到容器報名中。(查看容器屬性)
* 更進一步改進文件路徑太長的兼容性。
* 修正 12.7 版本自動檢測物理磁盤 RAW 映象為單獨的分區(qū)映象。
* 幾個其它局部改進和錯誤修正
* 針對 UFS 在線提供不同的模板。
* 更多更新內(nèi)容請到網(wǎng)站時事通訊中查看
設(shè)置中文的方法
點擊菜單欄最后的“help”-“setup”-“Chinese,please!”
軟件使用說明
下面我們來看看該軟件的使用。
標(biāo)題欄:與一般的應(yīng)用軟件一樣,標(biāo)題欄中顯示軟件名稱和當(dāng)前打開的文件名稱;
菜單欄:Winhex的菜單欄由八個菜單項組成-文件菜單、編輯菜單、搜索、定位、工具、選項菜單、文件管理、窗口和幫助菜單。
在文件菜單中,除了常規(guī)的新建、打開文件和保存以及退出命令以外,還有備份管理、創(chuàng)建備份和載入備份功能。選擇文件菜單中的屬性項,彈出文件屬性窗口,包括文件路徑、名稱、大小、創(chuàng)建時間和修改日期等內(nèi)容。在編輯菜單中,除了常規(guī)的復(fù)制、粘貼和剪切功能外,還有數(shù)據(jù)格式轉(zhuǎn)換和修改的功能。在搜索菜單中,你可以查找或替換文本內(nèi)容和十六進制文件,搜索整數(shù)值和浮點數(shù)值。在定位菜單中,你可以根據(jù)偏移地址和區(qū)塊的位置快速定位。在工具菜單中,包括磁盤編輯工具、文本編輯工具、計算器、模板管理工具和Hex轉(zhuǎn)換器,使用十分方便。在選項菜單中,包括常規(guī)選項設(shè)置、安全性設(shè)置和還原選項設(shè)置。
在Winhex的工具欄中,包括文件新建、打開、保存、打印、屬性工具;剪切、粘貼和復(fù)制編輯工具;查找文本和Hex值,替換文本和Hex值;文件定位工具、RAM編輯器、計算器、區(qū)塊分析和磁盤編輯工具;選項設(shè)置工具和幫助工具按鈕。通過使用工具欄中的快捷按鈕可以更方便的進行操作,這些和菜單中相應(yīng)的命令是一樣的。
在使用Winhex之前需要進行相應(yīng)的選項設(shè)置,點擊工具欄中的選項設(shè)置快捷圖標(biāo)按鈕,彈出選項設(shè)置對話框.它包括是否將WinHex作為默認關(guān)聯(lián),是否添加WinHex到上下文菜單,是否不更新文件名,是否快速打開文件以及是否顯示文件圖標(biāo)和工具欄。而且你還可以設(shè)置最近打開的文件列表中文件的數(shù)目,選擇是否用TAB鍵產(chǎn)生標(biāo)記,設(shè)置臨時文件夾、備份文件夾和文本編輯的路徑。在常規(guī)設(shè)置中,你可以選擇是否選擇顯示雙光標(biāo)和頁分隔符,是否逐行滾動,是否顯示W(wǎng)indows進度條,此外你還可以設(shè)置字體類型和顏色,相信你很快就學(xué)會了。執(zhí)行選項菜單中的安全項,彈出安全保護選項設(shè)置窗口,你可以選擇是否限制驅(qū)動控制,是否計算標(biāo)準(zhǔn)檢查和扇區(qū)讀入緩存以及是否確認更新文件。另外你可以選擇是否自動檢查磁簇,是否總顯示恢復(fù)報告,是否對下個會話保持驅(qū)動映像,是否隱蔽輸入加密關(guān)鍵碼(*****)以及檢查虛擬內(nèi)存變換和在RAM中是否保留密匙。在所有設(shè)置完成后,點擊保存按鈕,然后按確定按鈕返回主窗口。
數(shù)據(jù)恢復(fù)分類
硬恢復(fù)和軟恢復(fù)。所謂硬恢復(fù)就是硬盤出現(xiàn)物理性損傷,比如有盤體壞道、電路板芯片燒毀、盤體異響,等故障,由此所導(dǎo)致的普通用戶不容易取出里面數(shù)據(jù),那么我們將它修好,同時又保留里面的數(shù)據(jù)或后來恢復(fù)里面的數(shù)據(jù),這些都叫數(shù)據(jù)恢復(fù),只不過這些故障有容易的和困難的之分;所謂軟恢復(fù),就是硬盤本身沒有物理損傷,而是由于人為或者病毒破壞所造成的數(shù)據(jù)丟失(比如誤格式化,誤分區(qū)),那么這樣的數(shù)據(jù)恢復(fù)就叫軟恢復(fù)。因為硬恢復(fù)還需要購買一些工具設(shè)備(比如pc3000,電烙鐵,各種芯片、電路板),而且還需要懂一點點電路基礎(chǔ),我們主要使用軟恢復(fù)。
數(shù)據(jù)恢復(fù)的前提
數(shù)據(jù)不能被二次破壞、覆蓋!
硬盤數(shù)據(jù)結(jié)構(gòu)
下面是一個分了三個區(qū)的整個硬盤的數(shù)據(jù)結(jié)構(gòu)
MBR C盤EBRD盤 EBR E盤
MBR,即主引導(dǎo)紀(jì)錄,位于整個硬盤的0柱面0磁道1扇區(qū),共占用了63個扇區(qū),但實際只使用了1個扇區(qū)(512字節(jié))。在總共512字節(jié)的主引導(dǎo)記錄中,MBR又可分為三部分:第一部分:引導(dǎo)代碼,占用了446個字節(jié);第二部分:分區(qū)表,占用了64字節(jié);第三部分:55AA,結(jié)束標(biāo)志,占用了兩個字節(jié)。后面我們要說的用winhex軟件來恢復(fù)誤分區(qū),主要就是恢復(fù)第二部分:分區(qū)表。
引導(dǎo)代碼的作用
就是讓硬盤具備可以引導(dǎo)的功能。如果引導(dǎo)代碼丟失,分區(qū)表還在,那么這個硬盤作為從盤所有分區(qū)數(shù)據(jù)都還在,只是這個硬盤自己不能夠用來啟動進系統(tǒng)了。如果要恢復(fù)引導(dǎo)代碼,可以用DOS下的命令:FDISK /MBR;這個命令只是用來恢復(fù)引導(dǎo)代碼,不會引起分區(qū)改變,丟失數(shù)據(jù)。另外,也可以用工具軟件,比如DISKGEN、WINHEX等。
但分區(qū)表如果丟失,后果就是整個硬盤一個分區(qū)沒有,就好像剛買來一個新硬盤沒有分過區(qū)一樣。是很多病毒喜歡破壞的區(qū)域。
EBR,也叫做擴展MBR(Extended MBR)。因為主引導(dǎo)記錄MBR最多只能描述4個分區(qū)項,如果想要在一個硬盤上分多于4個區(qū),就要采用擴展MBR的辦法。
MBR、EBR是分區(qū)產(chǎn)生的。
比如MBR和EBR各都占用63個扇區(qū),C盤占用1435329個扇區(qū)……那么數(shù)據(jù)結(jié)構(gòu)如下表:
63 1435329 63 1435329 63 1253889
MBR C盤 EBR D盤 EBR E盤
擴展分區(qū)
而每一個分區(qū)又由DBR、FAT1、FAT2、DIR、DATA5部分組成:比如C盤的數(shù)據(jù)結(jié)構(gòu):
C 盤
DBR FAT1 FAT2 DIR DATA
恢復(fù)教程
Winhex有完善的分區(qū)管理功能和文件管理功能,能自動分析分區(qū)鏈和文件簇鏈,能對硬盤進行不同方式不同程度的備份,甚至克隆整個硬盤;它能夠編輯任何一種文件類型的二進制內(nèi)容(用十六進制顯示)其磁盤編輯器可以編輯物理磁盤或邏輯磁盤的任意扇區(qū),是手工恢復(fù)數(shù)據(jù)的首選工具軟件。
首先要安裝Winhex,安裝完了就可以啟動winhex了,啟動后,首先出現(xiàn)的是啟動中心對話框。
這里我們要對磁盤進行操作,就選擇“打開磁盤”,出現(xiàn)“編輯磁盤”對話框:
在這個對話框里,我們可以選擇對單個分區(qū)打開,也可以對整個硬盤打開,HD0是我現(xiàn)在正用的西部數(shù)據(jù)40G系統(tǒng)盤,HD1是我們要分析的硬盤,邁拓2G。這里我們就選擇打開HD1整個硬盤,再點確定.然后我們就看到了Winhex的整個工作界面。
最上面的是菜單欄和工具欄,下面最大的窗口是工作區(qū),現(xiàn)在看到的是硬盤的第一個扇區(qū)的內(nèi)容,以十六進制進行顯示,并在右邊顯示相應(yīng)的ASCII碼,右邊是詳細資源面板,分為五個部分:狀態(tài)、容量、當(dāng)前位置、窗口情況和剪貼板情況。這些情況對把握整個硬盤的情況非常有幫助。另外,在其上單擊鼠標(biāo)右鍵,可以將詳細資源面板與窗口對換位置,或關(guān)閉資源面板。(如果關(guān)閉了資源面板可以通過“察看”菜單——“顯示”命令——“詳細資源面板”來打開)。
最下面一欄是非常有用的輔助信息,如當(dāng)前扇區(qū)/總扇區(qū)數(shù)目……等
向下拉拉滾動條,可以看到一個灰色的橫杠,每到一個橫杠為一個扇區(qū),一個扇區(qū)共512字節(jié),每兩個數(shù)字為一個字節(jié),比如00。
下面我們來分析一下MBR,因為前面我們說過,前446個字節(jié)為引導(dǎo)代碼,對我們來說沒有意義,這里我們只分析分區(qū)表中的64個字節(jié)。
分區(qū)表64個字節(jié),一共可以描述4個分區(qū)表項,每一個分區(qū)表項可以描述一個主分區(qū)或一個擴展分區(qū)(比如上面的分區(qū)表,第一個分區(qū)表項描述主分區(qū)C盤,第二個分區(qū)表項描述擴展分區(qū),第三第四個分區(qū)表項填零未用)
每一個分區(qū)表項各占16個字節(jié),各字節(jié)含義如下:(H表示16進制)
字節(jié)位置 內(nèi)容及含義
第1字節(jié) 引導(dǎo)標(biāo)志。若值為80H表示活動分區(qū);若值為00H表示非活動分區(qū)。
第2、3、4字節(jié) 本分區(qū)的起始磁頭號、扇區(qū)號、柱面號
第5字節(jié) 分區(qū)類型符:
00H——表示該分區(qū)未用
06H——FAT16基本分區(qū)
0BH——FAT32基本分區(qū)
05H——擴展分區(qū)
07H——NTFS分區(qū)
0FH——(LBA模式)擴展分區(qū)
83H—— Linux分區(qū)
第6、7、8字節(jié) 本分區(qū)的結(jié)束磁頭號、扇區(qū)號、柱面號
第9、10、11、12字節(jié) 本分區(qū)之前已用了的扇區(qū)數(shù)
第13、14、15、16字節(jié) 本分區(qū)的總扇區(qū)數(shù)
此硬盤的第一分區(qū)表(即MBR)分析如下:
第一個分區(qū)表項(C盤)
第1字節(jié)80:表示此分區(qū)為活動分區(qū);
第5字節(jié)0B:表示分區(qū)類型為Fat32;
第9、10、11、12字節(jié) 系統(tǒng)隱含扇區(qū)3F 00 00 00:所謂系統(tǒng)隱含扇區(qū)就是本分區(qū)(C盤)之前已用了的扇區(qū)數(shù),這是一個十六進制數(shù),但要注意:真正的隱含扇區(qū)數(shù)應(yīng)該反過來填寫(比如:隱含扇區(qū)數(shù)為3E 4D 5A 6F,則反過來就是6F 5A 4D 3E ,這才是實際的隱含扇區(qū)數(shù))。那么,3F 00 00 00反過來寫就是00 00 003F,也就是3F,將他轉(zhuǎn)成十進制數(shù)我們才能知道實際的隱含扇區(qū)數(shù)是多大。這可以使用計算器來算,單擊工具欄上的“計算器”按鈕。
這樣就啟動了計算器
計算器有兩種型號,我們要進行進制轉(zhuǎn)換,就要選擇“科學(xué)型”
比如我們要將十六進制3F轉(zhuǎn)換為十進制,就要先選中“十六進制”,然后輸入3F
再選中“十進制”,十六進制3F轉(zhuǎn)為十進制等于63。想一想我們前面所講的,MBR占用63個扇區(qū),也就是C盤之前已用了的扇區(qū)數(shù)為63,第64個扇區(qū)就是C盤的第一個扇區(qū),但要注意的是,整個硬盤的LBA地址是從零開始的,0~62的扇區(qū)為MBR。
第13、14、15、16字節(jié)本分區(qū)總扇區(qū)數(shù)(當(dāng)然,這也就是C盤的大?。篊1 E6 15 00,同樣,實際的十六進制數(shù)也要反過來才對,也就是00 15 E6 C1,將它轉(zhuǎn)換成十六進制數(shù)是1435329。給你出個題,你知道D盤的EBR在哪個扇區(qū)嗎?我們一起來算一下,還記得前面數(shù)據(jù)結(jié)構(gòu)那個表嗎?C盤后面不就是D盤的EBR嗎?D盤EBR的第一個扇區(qū)=MBR+C盤的大小,也就是 63+1435329=1435392。
我們來看看對不對,單擊工具欄上的“轉(zhuǎn)到扇區(qū)”按鈕,出現(xiàn)一個“轉(zhuǎn)到扇區(qū)”對話框
然后輸入1435392,再點“確定”,就到了1435392扇區(qū)了(你可以使用它再轉(zhuǎn)回到0扇區(qū))
這個就是D盤的EBR,也就是D盤的分區(qū)表了,怎么知道的呢?因為MBR和EBR的結(jié)構(gòu)是完全一樣的,都是占用了63個扇區(qū),但只用了第一個扇區(qū),其余62個扇區(qū)填零不用。第一個扇區(qū)前446個字節(jié)都為引導(dǎo)代碼,后64個字節(jié)為分區(qū)表,最后2個字節(jié)為55AA結(jié)束標(biāo)志。因為EBR不是活動分區(qū),不需要引導(dǎo)代碼,所以前446個字節(jié)為零。
還有另一種方法直接找到D盤的EBR,扇區(qū).
這樣,分區(qū)表中的第一個分區(qū)表項共十六個字節(jié)分析完畢,下面我們再來看看第二個分區(qū)表項(擴展分區(qū))。
第1字節(jié)00:表示非活動分區(qū)
第5字節(jié)05:表示擴展分區(qū)
第9、10、11、12字節(jié)00 E7 15 00:本分區(qū)之前的扇區(qū)數(shù)(擴展分區(qū)前面也就是MBR和C盤,好像我們前面算過這個數(shù)?)同樣,先將它反過來,就是00 15 E7 00 ,再轉(zhuǎn)為十進制是1435392,看來我們前面真的算過這個數(shù)。
第13、14、15、16字節(jié)40 09 29 00:本分區(qū)的總扇區(qū)數(shù)。也就是擴展分區(qū)的總扇區(qū)數(shù)。轉(zhuǎn)為十進制應(yīng)該是2689344。想一想,用這個數(shù)加上前面的1435392,不正好是整個硬盤的總扇區(qū)數(shù)4124736嗎?
這樣,如果分區(qū)表被破壞,我們只要把這些數(shù)值都計算出來并填上,分區(qū)表不就恢復(fù)了?那么,這里我們?yōu)槭裁床环治龅?、3、4字節(jié)(本分區(qū)的起始磁頭號、扇區(qū)號、柱面號)和第6、7、8字節(jié)(本分區(qū)的結(jié)束磁頭號、扇區(qū)號、柱面號)呢?這是因為C/H/S(柱面/磁頭/扇區(qū))是老式硬盤的尋址方式,這種尋址方式來管理硬盤效率很低;而現(xiàn)在幾乎所有的硬盤都支持LBA(全稱是Logic Block Address,即扇區(qū)的邏輯塊地址)尋址方式,這種管理方式簡單高效。在LBA方式下,系統(tǒng)把所有的物理扇區(qū)都統(tǒng)一編號,按照從零到某個最大值排列,這樣只用一個序數(shù)就確定了一個唯一的物理扇區(qū)。
小知識:具體一個硬盤有多少個LBA(扇區(qū))不需要我們?nèi)ビ洃洠驗橛酶鞣N工具軟件(如MHDD WINHEX等)都可以檢測到。我們只要知道個大概就行了:如10G的硬盤大概有2000萬個扇區(qū);20G的硬盤大概有4000萬個扇區(qū);40G的硬盤大概有8000萬個扇區(qū)……那么,2G的硬盤大概有400萬個扇區(qū)。
那么,你可能要問了:如果要恢復(fù)分區(qū)表,這個起始磁頭號、扇區(qū)號、柱面號還有結(jié)束磁頭號、扇區(qū)號、柱面號應(yīng)該怎么填呢?簡單得很,在后面恢復(fù)分區(qū)表的時候我會告訴你,直接填,都不用計算。
還有興趣來分析一下D盤的EBR嗎?
其實D盤的EBR和E盤的EBR我們不分析也罷,因為無非也是分區(qū)表,跟MBR的結(jié)構(gòu)是一樣的,但卻很容易把我們繞暈,又因為EBR一般不容易被破壞,所以我不建議分析EBR。
但如果你一定要分析,那就分析吧。
單擊“訪問”下拉按鈕——“分區(qū)二”——“分區(qū)表”,直接就到1435392扇區(qū),即D盤的分區(qū)表EBR。
第一個分區(qū)表項(D盤):
第1個字節(jié)00:表示非活動分區(qū)
第5個字節(jié)06:表示FAT16分區(qū)
第9、10、11、12字節(jié)3F 00 00 00:本分區(qū)之前已用了的扇區(qū)數(shù),也就是EBR的數(shù)目,63個。
第13、14、15、16字節(jié)C1 E6 15 00:本分區(qū)的總扇區(qū)數(shù),也就是D盤的扇區(qū)數(shù),先反過來排列就是00 15 E6 C1,轉(zhuǎn)為十進制就是1435329。
第二個分區(qū)表項(D盤后面的):
第1個字節(jié)00:表示非活動分區(qū)
第5個字節(jié)05:表示擴展分區(qū)
第9、10、11、12字節(jié)00 E7 15 00:本分區(qū)之前已用了的扇區(qū)數(shù),也就是D盤的EBR加D盤總共的大小, 63+1435329=1435392
第13、14、15、16字節(jié)40 22 13 00:本分區(qū)的總扇區(qū)數(shù),1253952,也就是E盤的大小再加上一個EBR的數(shù)目。
單擊“訪問”下拉按鈕——“分區(qū)三”——“分區(qū)表”,直接就到2870784扇區(qū),即E
盤的分區(qū)表EBR。因為E盤后面沒有分區(qū)了,所以沒有第二個分區(qū)表項。這里我們就不再研究了,有興趣的話可以自己多備一塊硬盤作從盤,然后自己分分區(qū)研究研究。
通過以上的研究我們總結(jié)一下,MBR在定義分區(qū)的時候,將多余的容量定義為擴展分區(qū),指定該擴展分區(qū)的起止位置,根據(jù)起始位置指向硬盤的某一個扇區(qū),作為下一個分區(qū)表項,接著在該扇區(qū)繼續(xù)定義分區(qū),如果只有一個分區(qū),就定義該分區(qū),然后結(jié)束;如果不止一個分區(qū),就定義一個基本分區(qū)和一個擴展分區(qū),擴展分區(qū)再指向下一個分區(qū)描述扇區(qū),在該分區(qū)上按照上述原則繼續(xù)定義分區(qū),直至分區(qū)定義結(jié)束。這些用來描述分區(qū)的扇區(qū)形成一個“分區(qū)鏈”,通過這個分區(qū)鏈,就可以描述所有的分區(qū)。系統(tǒng)在啟動時按照分區(qū)鏈的連接順序查找分區(qū),直至找出所有分區(qū)。這個鏈顯然是個開鏈結(jié)構(gòu),如果形成一個環(huán),系統(tǒng)本身并不會去判斷它,它只是按照這個鏈忠實的查找分區(qū),而不進行任何額外的檢測與處理。所謂硬盤邏輯鎖,就是讓分區(qū)鏈形成一個環(huán),這樣系統(tǒng)在啟動時就在分區(qū)表內(nèi)循環(huán),表現(xiàn)為系統(tǒng)無法引導(dǎo),就是從軟盤啟動,也不能進入硬盤。明白了其結(jié)構(gòu)原理,解決這個問題就簡單了,目前有很多種方法解決這個問題,后面我們還會講到。系統(tǒng)就是利用這種方法使一個硬盤分區(qū)后看起來象多個硬盤。系統(tǒng)能夠找到C盤以外的其他邏輯盤的唯一辦法就是,沿著EBR所描述的分區(qū)鏈查找分區(qū)。
其實,通常情況下EBR是不會被破壞的,或者破壞的幾率極低極低,通常情況下,都是只有MBR被破壞,那么這種情況下,我們只要把MBR的分區(qū)表64個字節(jié)復(fù)原,其他的分區(qū)順著分區(qū)表所提供的鏈自然而然就出來了。那么,如何才能將分區(qū)表復(fù)原呢?這就要通過計算結(jié)合Winhex強大的功能來實現(xiàn)了。
下面我們就來模仿分區(qū)表被病毒破壞的情況,將MBR全部填零。我們首先將MBR所在的扇區(qū)選中。鼠標(biāo)指向第一個字節(jié),單擊右鍵,選擇“選塊開始”
然后鼠標(biāo)指向MBR的最后一個字節(jié),單擊右鍵,選擇“選塊結(jié)尾”
然后我們在選區(qū)內(nèi)部單擊鼠標(biāo)右鍵,選擇“編輯”
這樣就有出來一個菜單
然后我們選“填充選塊”,這樣就出來一個填充選塊對話框
在“用十六進制填充”的輸入框中輸入“00”,再點“確定”
這樣MBR所在扇區(qū)全部被我們填充為“00”
如果想取消選區(qū),那就用鼠標(biāo)拖動隨便選中一塊區(qū)域,那么原來的選區(qū)就會取消。注意,如果扇區(qū)數(shù)據(jù)被修改了而沒有存盤就會變?yōu)閯e的顏色。
修改了扇區(qū),這時候還沒有存盤生效,如果你想存盤生效的話,就選擇“文件”菜單“保存扇區(qū)”命令。
這時候就會出現(xiàn)一個提示,如果你不想存盤了就點取消,如果想存盤,就點確定,再點是。
好,這樣就存盤了,扇區(qū)被修改的數(shù)據(jù)又變?yōu)楹谏?/p>
這樣我們就把分區(qū)表給刪除了,這時候必須重新啟動才能生效,如果你打開我的電腦,會發(fā)現(xiàn)三個分區(qū)(F、G、H)還在那里,并且里面的數(shù)據(jù)還能正常使用。
現(xiàn)在,我們關(guān)閉所有程序?qū)㈦娔X重新啟動……
經(jīng)過不長時間的等待,電腦啟動起來了,我們打開我的電腦看看,發(fā)現(xiàn)F、G、H三個分區(qū)不見了。
再打開Winhex發(fā)現(xiàn)MBR全部為零了,下面我們就著手開始手工恢復(fù)分區(qū)表
首先恢復(fù)引導(dǎo)代碼,這最簡單了,只要用Winhex到別的系統(tǒng)盤把引導(dǎo)代碼復(fù)制過來就行了。我現(xiàn)在的機器上不是掛著兩個硬盤嗎?一個邁拓2G,一個西數(shù)40G,西數(shù)40G是我的系統(tǒng)盤,那就從這個盤上復(fù)制就行了。
單擊“磁盤編輯器”按鈕
出現(xiàn)“編輯磁盤”對話框
選擇“HD0WDC WD400EB---00CPF0”,點“確定”
這樣我們就把系統(tǒng)盤的分區(qū)表給打開了,注意,現(xiàn)在我們是打開了兩個窗口,當(dāng)前的窗口是“硬盤0”,在標(biāo)題欄上有顯示。另外,打開窗口菜單也能看出來,當(dāng)前窗口被打上一個勾,如果想切換回原來的窗口,就點擊“硬盤1”。
首先選中系統(tǒng)盤的引導(dǎo)代碼
然后在選區(qū)中單擊鼠標(biāo)右鍵,選“編輯”
又出來一個菜單,然后我們選“復(fù)制選塊”——“正?!?/p>
然后我們切換回硬盤1窗口,在零扇區(qū)的第一個字節(jié)處單擊鼠標(biāo)右鍵,選“編輯”
然后選“剪貼板數(shù)據(jù)”——“寫入……”
出現(xiàn)一個窗口提示,點“確定”
這樣,我們就把一個正常系統(tǒng)盤上的引導(dǎo)代碼復(fù)制過來了。
下面,我們就開始恢復(fù)分區(qū)表(共64個字節(jié),分為4個分區(qū)表項,每個分區(qū)表項占用16個字節(jié),一般只使用前兩個分區(qū)表項),我們首先來恢復(fù)第一個分區(qū)標(biāo)項(也就是用來描述C盤的)。
首先,在第1個字節(jié)處(0扇區(qū)倒數(shù)第五行,倒數(shù)第二個字節(jié))填上分區(qū)引導(dǎo)標(biāo)志,因為C盤是活動分區(qū),所以填上80。
接著是第2、3、4字節(jié)(本分區(qū)起始磁頭號、扇區(qū)號、柱面號),填上:01 01 00。
第5字節(jié)是分區(qū)類型符,因為原先C盤是Fat32格式,所以填上:0B。那么,如果你不知道C盤是什么格式怎么辦呢?你會說問問客戶呀,那么如果他也不知道呢?別著急,后面在說恢復(fù)DBR的時候我會教你怎么分辨分區(qū)的格式。
第6、7、8字節(jié)是本分區(qū)的結(jié)束磁頭號、扇區(qū)號、柱面號,這怎么知道呢?別著急,現(xiàn)在的磁盤都是按照LBA方式尋址,并不按照C/H/S(及柱面、磁頭、扇區(qū))方式尋址,所以這個地方你填些什么一般關(guān)系不大,但是我要告訴你有一個通用的填法,那就是:FE FF FF。
第9、10、11、12字節(jié),本分區(qū)之前已用了的扇區(qū)數(shù),也就是MBR所占用的扇區(qū)數(shù),那不是63嗎?對,但是要將63轉(zhuǎn)為十六進制數(shù),再反過來倒著填寫上。還記得怎么用計算器嗎?將63轉(zhuǎn)為十六進制數(shù)是3F,不夠四個字節(jié)前面加零,也就是00 00 00 3F,再將此數(shù)從右向左依次序反過來就是3F 00 00 00。
第13、14、15、16字節(jié)是本分區(qū)的總扇區(qū)數(shù),也就是C盤的大小,這就要通過稍微一點點計算來得到了。因為C盤是從第63個扇區(qū)開始,而C盤后面緊接著的是EBR,所以用EBR所在的第一個扇區(qū)數(shù)減去63就是C盤的大小。那么如何才能找到EBR所在的第一個扇區(qū)呢?我們前面說過,EBR的結(jié)構(gòu)和MBR是一樣的,所以,EBR的結(jié)束標(biāo)志也一定是55AA,那么,只要我們找到這個結(jié)束標(biāo)志,再看看這個扇區(qū)是不是EBR不就行了?
單擊“搜索”——“查找十六進制數(shù)值……”,然后出來一個對話框
在文本框中輸入“55AA”,搜索框中選“全部”,然后選中“條件”,把偏移量設(shè)置為“512=510”。
再單擊“確定”。畫面如下:
首先找到第一個“55AA”,我們看到,個扇區(qū)在第63個扇區(qū)上,并不是我們要找的EBR,再按F3繼續(xù)查找
又找到好幾個扇區(qū),都不是,那么下面這個扇區(qū)是不是?
前面我們說過,EBR的結(jié)構(gòu)和MBR的結(jié)構(gòu)是一樣的,所以在倒數(shù)第五行倒數(shù)第二個字節(jié)應(yīng)該是00 01,并且前446個字節(jié)應(yīng)該是0,顯然這也不是EBR,繼續(xù)按F3查找……終于找到了真正的EBR,在1435392扇區(qū)。
小技巧:現(xiàn)在的硬盤都比較大,要逐個扇區(qū)的查找55AA確實太慢了,那么有沒有辦法快點呢?有,那就是先問問客戶C盤大概有多大,大多數(shù)客戶還是知道的,比如他說C盤大概有10個G,那么你就不要從頭開始找了,因為那實在太慢了。10個G大概是2000萬個扇區(qū),那么你可以用轉(zhuǎn)到扇區(qū)命令直接到1900萬扇區(qū),從那個地方再開始找不就省事多了。
用1435392減去63,得到1435329,再轉(zhuǎn)為16進制,就是15E6C1,將他倒轉(zhuǎn)過來就是C1E61500,這就是C盤的大小。這樣,第一個分區(qū)表項填寫完畢,我們保存一下,再接著填寫第二個分區(qū)表項。
第二個分區(qū)表第1個字節(jié):因為是非活動分區(qū),所以寫00
第2、3、4字節(jié),填寫01 01 00(通用的)
第5字節(jié):因為是擴展分區(qū),所以填寫0F
第6、7、8字節(jié):填寫FE FF FF(通用)
第9、10、11、12字節(jié)是本分區(qū)之前已用了的扇區(qū)數(shù),應(yīng)該就是C盤大小加63,也就是1435392,前面剛計算出來的,轉(zhuǎn)為十六進制數(shù)再反過來就是00 E7 15 00
第13、14、15、16字節(jié)是本分區(qū)的總扇區(qū)數(shù),也就是擴展分區(qū)的總扇區(qū)數(shù),也就是用整個硬盤的大小減去C盤的大小再減去63,即4124736-1435329-63=2689344,轉(zhuǎn)為十六進制就是290940,反過來就是40092900。
這樣,第二個分區(qū)表項就填寫完了。
不要忘了把最后的結(jié)束標(biāo)志55AA填上,這樣,MBR就全恢復(fù)完了,最后,保存,再重新啟動……
啟動完畢,迫不及待的打開我的電腦,發(fā)現(xiàn)三個分區(qū)全部又回來了,并且里面的數(shù)據(jù)完好無損。
再右擊“我的電腦”,選“管理”
出現(xiàn)一個對話框,選“磁盤管理”,在右邊可以看到磁盤一的三個分區(qū)(Fat32、Fat16、Ntfs)全部都回來了,至此,手工恢復(fù)分區(qū)表順利完成。
手工恢復(fù)數(shù)據(jù)恢復(fù)成功率比較高,而且比較有趣味和挑戰(zhàn)性,能找回許多傻瓜似的軟件所找不回來的文件,但是要求工程師一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了會有什么后果,能不能退回到上一步狀態(tài)。特別是對一些破壞性操作,一定要考慮周到,只要條件允許,就一定要在操作之前進行備份,否則會造成“血”的教訓(xùn),切記!