歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 磁盤存儲結構與文件恢復實驗(FAT文件系統)

磁盤存儲結構與文件恢復實驗(FAT文件系統)

日期:2017/2/28 14:21:32   编辑:Linux教程

實驗地點:主樓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

Copyright © Linux教程網 All Rights Reserved