1. 程式人生 > >FAT12環境中檔案刪除、檔案恢復原理實驗(單簇檔案)

FAT12環境中檔案刪除、檔案恢復原理實驗(單簇檔案)

這是之前在xl部落格上寫的計算機病毒原理課程實驗二的續。

原理上,檔案刪除是將目錄項的第一位元組改為e5(刪除檔案),並將FAT表中鏈上每個FAT項還原為0(回收簇)。

該實驗目的為驗證並試驗此原理。

因為完整實驗的之前步驟已經在xl部落格上實現了,這裡就不再贅述,直接從刪除檔案這個步驟開始:


顯而易見在根目錄下有MUSIC目錄,GAME目錄和一個TXT檔案,在這裡刪除這個TXT檔案。

然後將軟盤彈出並開啟考察。

現在考察這個軟盤,首先考察FAT表區


顯然ROOTTMP.TXT對應的第8簇已清0。

繼續考察根目錄區(根目錄區的地址已在之前的文章中計算過兩次..這裡也不再贅述..)


顯然該目錄項的第一個位元組被修改為E5。

最後考察使用者資料區:因為第0,1扇區被系統保留但未在使用者資料區佔用實際儲存空間(實驗在之前驗證過),所以第8簇對應使用者資料區起第6扇區


顯然該扇區資料依然存在。

下面進行該檔案的恢復,因為該檔案只佔用1簇空間,所以顯然只要進行兩步。首先找到該檔案目錄項,把第一個位元組改掉(不能改為00,因為00是字串結束符,DOS系統也不會識別出該檔案),然後檢視目錄項對應的起始簇號:第8簇,在FAT表中將第8簇修改為fff即可。

進行上述操作後進入DOS,連線上軟盤:


可見檔案恢復成功。