接上一章winhex数据恢复新手入门教程
第5章《起始簇號的計算方法》
就算起始簇號有兩種方法,1是公式計算,2是組合數值。
第一個公式:起始簇號等于低16位的數值+(高16位的數值*65536)
注意:當高16位為0的時候,那么只需要看低16位的數值
位置:高16位在左,低16位在右。
第二個組合數值
注意:手工提取的數據沒有擴展名。
注:提取的數據是在扇區中提取的不是在根目錄中提取的。
第6章《利用FAT表找出目錄的下個簇》
- 當第一個目錄里的文件比較多時,一個簇存不下所有文件,就會增加一個簇來存放文件。但這兩個簇往往不是連續的,就需要FAT表來定位目錄的下個簇是第幾號簇。
- 打開字符轉換器,然后把漢字輸入到里面,把它的ANSI碼復制到查找十六進制里面去找。
- 一切開始都是從2號簇開始找,把光標放到2號簇的第一位記錄它的32bit數值,然后在跳至扇區中把數值輸入到簇的框中搜索,搜索到的就是根目錄的下一個簇。找到下一個簇后就跳至扇區看能否搜索到要找的數據,如果能那么就提取出來如果不能就繼續找下個簇。
例如:找到的是3號簇,那么就看32bit,如果32bit是3614,那么就跳至扇區去查找十六進制??茨芊褚恢羶擅肽芊裾业?#xff0c;如不能就繼續找下一個簇。
注意:如果還要找下一個簇一定要回到FAT1里面來找也就是一定要回到原始位置,光標也一定要放到第一位的數值上。這里是開始第二個簇的查找,第一個不用這樣,第一個是光標放在2號簇的第一個數值上,不要混淆了。
注意:每找到一個簇就要跳至扇區去開一下能否搜索到。
- 如果要找下一個簇那么把(原來的32bit的數值*4),然后再把計算出的結果放到(轉到偏移量)中的新位置框中,相對于哪里選擇當前位置也就是光標所放的位置。
位置:選項下面第一個
注意:通常我們用的都是十進制,如果一開始用的是十六進制那么一直都要用十六進制查找、搜索等,要不然找出來的是錯的。
這樣以此類推直到找到為止
以上轉到偏移量都是十進制
第七章《長文件名目錄項》
- 當文件名超過8個字節時,就需要用長文件名目錄項來存儲文件名。
- 長文件名目錄項的0B位置標志一定是0F。
- 長文件名目錄項使用Unicode編碼存儲文件名的。
- 長文件名目錄項數據結構:
| 偏移字節(16進制) | 描述 |
| 00-00 | 狀態碼(E5:刪除;01表示目錄項序號;42前面的4是表示最后一個目錄項,后面的2是表示序號為2的目錄項)。 |
| 01-0A | 長文件名的第1-5個字符 |
| 0B-0B | 長文件名目錄項的標志為0F |
| 0C-0C | 保留 |
| 0D-0D | 校驗和 |
| 0E-19 | 文件名的第6-11個字符 |
| 1A-1B | 保留 |
| 1C-1F | 文件名的第12-13個字符 |
注意:找到長文件名的目錄項后,找到的那個里面沒有有用的數據,只不過是記錄文件名的,有用的在長文件名的下一項數值才有用,也就是說只有它的短文件名目錄項才有高16位和低16位。
- Unicode編碼中每個字符都會用兩個字節來表示。
- 長文件名是用Unicode編碼,短文件名用的是ANSI編碼。
第八章《根據兩個子目錄算出簇大小》
- 子目錄:
每個文件夾的最前面兩個目錄項,一定是“.”和“..”目錄項,分別表示子目錄本身和父目錄。
- 簇大小計算公式:
兩個扇區相減,兩個簇相減;然后它們的和相除,然后結果就是簇的大小。
例如:扇區:40992,,238208;簇:131080,4。 ????就是:2138208-40992=2097216,131080-4=131076再然后就是 2097216除以4=16;那么就表明每個簇有16個扇區。
???????????以上都是在十進制里面進行的
第九章《搜索完整的長文件名》
1、WinHex搜索限制:
Winhex搜索十六進制數值最多只能搜索50個字節,如果超過50個字節winhex將自動把多余的字節忽略掉
2、50個字節只能容納20個字符的長文件名目錄項。
3、一個文件名目錄項的長度是32個字節,所以50個字節的話那后面的就還剩下18個字節也就是說第二個文件名目錄項也可以查找它前面18個字節的十六進制,那么前面的18個字節的話是到偏移11的位置。
4、在Unicode編碼中兩個字節對應的是文件名一個符。
5、如果要復制搜索的話一定要從下向上復制慢50個字節也是可以搜索,不過太過于復雜,通常一般都是復制的是前面的32個字節來查找十六進制。
注:(1)、先把字符轉換成Unicode編碼
6、長文件名目錄項數據結構:
| 偏移字節(16進制) | 描述 |
| 00-00 | 狀態碼(E5:刪除;01表示目錄項序號;42前面的4是表示最后一個目錄項,后面的2是表示序號為2的目錄項)。 |
| 01-0A | 長文件名的第1-5個字符 |
| 0B-0B | 長文件名目錄項的標志為0F |
| 0C-0C | 保留 |
| 0D-0D | 校驗和 |
| 0E-19 | 文件名的第6-11個字符 |
| 1A-1B | 保留 |
| 1C-1F | 文件名的第12-13個字符 |
注:填充Ctrl + B然后選擇ASCII Hex選項!還有在搜索的時候記得勾上“用作通配符”。
注:因為一個字符對應的是兩個字節,所以看圖表的時候遇到字符時都要乘以2.例如:0E-19;6-11個字符,那么就是6*2=12那么就是要數12個字節填充才可以。
第十章《找出指定目錄的所有子目錄》
- (1)每個文件夾的最前面兩個目錄項,一定是“.”和“..”目錄項,分別表示子目錄項本身和父目錄
- 如果根目錄損壞,那么我們可以直接通過搜索子目錄,也就是直接搜索根目錄下的所有子目錄。具體方法:所有目錄項的前面一定是“.”目錄項,“.”目錄項的文件頭是2E 20 20 20 20 20 20 20 20 20 20,所以我們搜索十六進制數值時只需要搜索這個就可以了。
注:但是如果這樣去搜索的話是搜索里面所有的文件夾,不僅僅是子目錄還有目錄里面的目錄,這樣一層一層的全部都會被搜索出來。
- 記住在查找十六進制時在有通配符“3F”的時候才勾上,如果沒有就別勾,還有條件偏移計算填上512=32然后再勾上
解釋:因為每個扇區有512個字節而字符所占用的最少都是兩行也就是32個字節,所以512=32。
- 在根目錄沒有損壞的情況下是可以顯示文件夾路徑的。
- 在故意損壞根目錄時填充的數一般都是00不是“3F”因為“3F”是通配符。
- 再要搜索時我們應該到根目錄里面去向下搜索要么就是在查找十六進制數值里選擇搜索選項點擊全部也是可以的。
- 在父目錄里面如果高16位和第16位都為0的話那么說明這個文件夾就位于根目錄下;如果高16位為0,低16位為03 00那么這個文件夾就位于子目錄下而不是根目錄下。
注:根目錄下的子目錄它的父目錄的簇號都為00,因為根目錄比較特殊。
- 搜索快捷徑:
重要注意:在搜索的時候一定要全部搜索完才行,不能半途終止不然恢復后的數據不完整。
以上是在根目錄損壞的情況下進行的。
- 《創建一個文件對系統做了哪些操作》
- 找一個為FAT32的空盤,注:一定要是空盤不然不好比較。
- 把空盤里面的數值復制出來也就是把數值提取出來。
- 提取出來后點擊專業工具---將鏡像文件轉換為磁盤這樣就生出了一個和原盤一模一樣的磁盤,包括扇區、數據、數值、字符等都是一樣的,相當于克隆。
- 做比較的工具:查看---同步窗口、同步和比較
- 做實驗:
- 在文檔里增加內容,內容為123再進行比較。
- 直接在空盤里創建文本文檔再重命名的結果比較。
八、總結:
以上是在十六進制下進行的
第十二章《用winhex手工創建一個文件》
- 直接在winhex中創建一個文檔實驗
- 在建立文檔中用winhex增加內容。
????????1、0A是填簇號的
????????2、0C是表示內容的字節數
3、填寫完成后保存,然后保存完成后再跳轉簇的位置。
????????4、跳轉到后用字符轉換器將漢字、英文或數字轉換成十六進制來填寫到簇里面。
????????5、最后一個千萬不能忘記,也就是FAT表,在內容填寫完后點擊到FAT表里面去把簇激活也就是結束標志FF FF FF 0F。例如:我們填寫的是5號簇那么就到5號簇里面去填寫內容然后再到FAT表里找到5號簇的位置填寫結束標志FF FF FF 0F,這樣才可以。
三、指定小寫擴展名或英文小寫名稱
???1、0C的意義就是可以改變這一項大小寫的顯示。
???2、0C要填什么數才是小寫呢?
???答:我們把想到的數值輸入到十六進制里然后把十六進制轉換成二進制,如果轉換出來的結果為1那么就是小寫(原理:第一個1為擴展名小寫,第二個1為名稱小寫;也就是說1為是,0為否)。
四 、總結:(1)、新建一個目錄項。
??????????????(2) 給數據區的內容賦值。
??????????????(3)、給FAT1表相應的FAT標記簇已用。
????五、目錄項0C位置第5位二進制如果為1,那么擴展名小寫;第4位二進制位如果是1那么文件名小寫。(注:這是從后往前數的)
以上一般都會用到字符轉換器
第十三章《刪除一個文件對文件系統做了哪些操作》
- 刪除文件到回收站做了哪些操作實驗。
- 總結:
(1)、1號扇區的空閑簇號-1
(2)、下個可用簇向下移了一個簇。
(3)、FAT1和FAT2多了一個FAT表項。
(4)、文件目錄項第一個字節變成了“E5”也就是表示已被刪除。
(5)、回收站的目錄里多了兩個目錄項。
????(6)、數據區多了一個配置內容文件。
第十四章《清空回收站做了什么操作》
- 建立一些文檔在文檔里加一些內容然后再把文檔刪除在去把回收站清空實驗。(注意:在還沒有刪除之前一定要把數據給鏡像出來)。
- 總結:
第十五章《按ShIFT鍵徹底刪除對文件系統做了哪些操作》
- 在盤中創建一個文件重命名然后在里面添加一些內容。
- 總結:
第十六章《恢復刪除的文件》
- 按住Shift鍵刪除恢復實驗
以上是在高16位為0的時候操作的
第十七章《有高位簇的文件刪除后對文件系統做了哪些操作》
- 在要做實驗的盤里存入一個文檔(注:在文檔里存入的內容一定要使它的高位簇有數值)實驗。
- 總結:
第十八章《恢復刪除文件---手工計算被清空的高位簇》
- 當高位簇有數值為0時的情況下恢復實驗。
- 恢復實驗開始:
- 高位簇計算:
第十九章《剪切文件對文件系統做了哪些操作》
- 剪切分為兩種情況:第一種:剪切到其他數據盤;第二種:剪切到其他文件夾。
- 將文件剪切到其他數據盤實驗
- 總結:
- 將文件夾里的文件剪切到其它文件夾做了哪些操作。
- 總結:
第二十章《格式化對文件系統做了什么操作》
- 格式化實驗:
- 總結:
第二十一章《格式化恢復-虛擬子目錄》
- 恢復實驗:
- 總結:
第二十二章《格式化恢復-手工提取根目錄下文件》
- 直接手工提取根目錄下文件:
- TXT類型搜索實驗:
第二十三章《格式化恢復-手工計算DBR參數》
- 修改DBR參數恢復實驗:
- DBR修改實驗:
第二十四章《格式化恢復-巧取DBR參數》
- 巧取實驗:
- 恢復實驗:
??????????三、注意:在復制的時候一定要注意,不能把分區1的DBR復制到引導扇區里去。
第二十五章《磁盤未被格式化-利用備份的DBR恢復》
- 如果在打開磁盤或U盤的時候提示“格式化”那么就表明盤中0號扇區的DBR參數被破壞了。
- 打開winhex到六號扇區直接將六號扇區的十六進制復制到0號扇區就可以了(因為每個分區的DBR都有一個它的備份分區,所以直接將六號扇區的數據復制到0號扇區就可以了,注:前提是磁盤未被格式化,打開winhex到根目錄下去看一下,如果還能看見文件那么表明磁盤未被格式化。之所以能看見是因為備份DBR起的作用,所以在winhex中能看見但在計算機中不能打開就是這個原因了。)
第二十六章《磁盤未被格式化恢復-用系統格式化默認恢復》
- 恢復前準備:
- 開始恢復
第二十七章《磁盤未被格式化恢復-手工計算DBR參數》
- 恢復實驗:
第二十八章《文件和目錄損壞的原因和恢復方法》
- 一般出現提示“格式化”時都是根目錄FAT表項損壞了。
- 如果是NTFS提示格式化表明MFT損壞。
- 打不開磁盤是因為根目錄的FAT表項被清零,如果是其他FAT表項的話也就是個別文件打不開而已。
- 恢復方法:
第二十九章《文件名變亂碼的原因及恢復方法》
- 文件名變亂碼的原因是因為文件夾所在的數據區損壞了。
- 利用21張所學虛擬子目錄,恢復方法:
- 如果文件直接在根目錄下或直接在變成亂碼的文件夾中,恢復方法:
第三十章《根據FAT表算出簇大小》
- 沒有子目錄,用FAT表算出簇大小實驗:
- FAT表的0號扇區損壞恢復實驗。
以上都要注意記錄
完結
總結
以上是生活随笔為你收集整理的接上一章winhex数据恢复新手入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 计算每年年初与年末的周数 (iso
- 下一篇: 五大影响记忆力的日常习惯