2021-05-12 14:32:11
磁碟儲存結構與檔案恢復實驗(FAT檔案系統)
實驗地點:主樓A2-412
一、實驗室名稱:主樓實驗室A2-412
二、實驗專案名稱:磁碟儲存結構與檔案恢復實驗
三、實驗學時:6學時
四、實驗原理:
在Debug環境下利用基本組合程式對引導磁區、檔案分配表、目錄表等結構進行顯示,並進行分析;
使用工具軟體WINHEX對指定的檔案(被刪除檔案)進行恢復。
五、實驗目的:
1)了解檔案系統在磁碟上的儲存映像和它在系統安全中的地位和作用;
2)了解檔案目錄結構及其存取方式;
3)掌握使用系統基本組合程式進行磁碟和檔案結構存取的技術和程式設計方法,為資料恢復奠定基礎。
六、實驗內容:
1)在DEGUB下,使用組合指令讀取MBS引導磁區,記錄並分析說明結構。
2)在DEGUB下,使用組合指令讀取DBS引導磁區,記錄並分析說明結構。
3)在DEGUB下,使用組合指令讀取FAT、FDT,記錄並分析說明結構。
4)生成一個簡單文字檔案(*.txt檔案),結合FAT,FDT資訊,使用組合指令,在硬碟上查詢並讀出該檔案,記錄並說明查詢過程。
5)刪除生成的文字檔案,檢視該檔案在FAT、FDT所對應的檔案儲存狀態以及該檔案在資料區對應磁區的內容,說明檔案刪除操作的原理。
6)使用WINHEX軟體進行檔案恢復操作練習。
七、實驗器材(裝置、元器件):
PC微機一台(至少具有一個FAT格式磁碟分割區),VMware Workstation6.0虛擬機器軟體,DOS7.0,WINHEX軟體。
八、實驗步驟:
任務一、讀取MBS引導磁區
1.在DEGUB下,使用組合指令讀取MBS引導磁區。
2.根據顯示的資訊,分析說明MBS結構及位元組含義和具體數值。
任務二、讀取DBS引導磁區和磁碟引數塊BPB
1.在DEGUB下,使用組合指令讀取DBS引導磁區。
2.根據顯示資訊,分析說明引導磁區結構。
3.根據顯示資訊說明磁碟引數塊BPB結構及各段含義和具體數值。
任務三、讀取FAT表
1.生成一個簡單文字檔案(*.txt檔案),取“長檔名”。
2.在DEGUB下,使用組合指令讀取FAT表。
3.根據顯示資訊,說明FAT的作用與格式。
任務四、查詢檔案
1.以“任務三”所生成的文字檔案(*.txt檔案)為目標,根據FDT查詢該檔案。
2.根據BPB中的資訊,計算FDT位置。
3.編寫程式碼顯示FDT。
4.根據FDT資訊,確定檔案首簇號,根據公式計算目標檔案起始磁區位置。
5.編寫程式碼讀取該檔案對應的磁區,檢視磁區儲存的檔案內容。
任務五、檔案刪除原理
1.刪除生成的文字檔案
2.檢視FDT,檢查已刪除檔案在FDT中所對應的狀態資訊的變化。
3.檢視FAT,檢查已刪除檔案在FAT中所對應的狀態資訊的變化。
4.檢視已刪除檔案在資料區磁區中的內容,理解檔案刪除原理。
任務六、檔案恢復
1.在FAT16(32)格式的磁碟中,使用WINHEX進行檔案恢復操作練習。
九、實驗資料及結果分析:
任務一:讀取MBS引導磁區
1.給出編寫的完整DEBUG指令,記錄(拷貝螢幕輸出)讀出的MBS引導磁區內容,並對其進行結構分析和說明。
以上就是程式碼以及mbs全部內容,1000-11b7為載入程式,11b8-11bb為磁碟簽名,11bc-11bd預設為0,11be-11fd為分割區表,四個表項,每個16位元組。這個例子裡只有一個分割區,開頭一位元組為80,表示主活動分割區。最後兩位元組為結束標誌。
2.計算當前磁碟空間大小。
當前磁碟空間為保留磁區(包括MBR)加上所有分割區大小,這裡保留磁區為3f,分割區大小看最後4位元組(11ca-11cd),即03bf85,總共為03bfc4*0200位元組。
任務二:讀取DBS引導磁區
1.給出編寫完整DEBUG指令,記錄(拷貝螢幕輸出)讀出的DBS引導磁區內容,並對其進行結構分析和說明。
以上為程式碼及dbr所有內容,1000-1001為跳轉指令,1002為nop,1003-100a為OEM代號,100b-103d為bpb,103e-11fd為載入程式,最後兩位元組為結束標誌。
2.說明和計算磁碟引數塊BPB的結構及各段含義和具體數值。
每磁區位元組數0200(100b-100c),每簇磁區數4(100d),DBR保留磁區數1(100e-100f),FAT個數2(1010),根目錄最大目錄項數0200(1011-1012),磁區總數0(1013-1014),媒介描述符f8(1015),每FAT磁區數0f0(1016-1018),每磁軌磁區數3f(1018-1019),磁頭數4(101a-101b),隱藏磁區數3f(101c-101f),磁區總數3bf85(1020-1023),BIOS驅動器號80(1024),1025未用,擴充套件引導標記29(1026),卷序列號2f2f1ceb(1027-102a),卷標202020303137534f44534d(102b-1035),檔案系統型別fat16(1036-103d)。
任務三:讀取FAT表
給出編寫完整DEBUG指令,記錄(拷貝螢幕輸出)讀出的FAT表內容,並說明FAT的作用與格式。
以上為程式碼和fat1。每個fat項占2位元組:0號描述媒介型別,f8表示為硬碟;1號為骯髒標誌;2號起沒兩個位元組為1fat項:fff7表示壞簇,ffff表示某檔案最後一個簇,00表示可用簇,其他表示某檔案的下一個簇的簇號。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-04/116276p2.htm
相關文章