跳到主要內容

發表文章

目前顯示的是 9月, 2016的文章

FAT基本資料救援 - 針對UNDELETE的資料

FAT基本介紹 基本觀念 這邊要稍微定義一下單位: 1 bytes = 8 bits 1 sector = 512 bytes sector 可以簡單理解為,在光碟片上儲存資料的block。 cluster 是由sector所組成,但是依據格式化時的設定而有所不同,從下面的圖可以看出,在格式化時Allocation unit size,基本上就是在設定cluster,下面的例子是 1 cluster = 16 sectors FAT架構概要 FAT的大概架構順序主要如下: MBR FAT1:資料的儲存位置紀錄 FAT2:FAT1的備份 Root Directory:檔案的相關資訊 Data:檔案實際存放的地方 而在MBR中,主要可以分成三個部份: Bootstrap code : 識別已配置的bootable partition,載入並且執行VBR(Volume Boot Record) [link]  ,這邊不是本章要討論的重點。 Partition table : 這邊主要是描述整顆硬碟的分割資訊。 Boot signature : 表示此Block是有效的。 大概長的像下圖這樣: Partition table,是以16 bytes為單位,因此原則上,此硬碟最多可以切分成四個partition。第一個partition,起始位置為 0x01CE ,結尾為0x01CD,如下圖框起來的範圍, 每個位置都有其代表的意義: 主要就是說明此Partition的起始、結束、大小等資訊。 Root Directory 這邊主要要說它裡面的Directory Entry,下圖中,包含了三個檔案,包含名稱以及相關資訊: 資料救援 接著開始進入正題,在FAT的架構下,刪除資料,主要有兩個部份需要異動: FAT1 Root Directory內的Directory Entry 首先先說明,Directory Entry的部份,在這邊會將檔案名稱第一位hex,改成 E5 ,下面的例子(檔案名稱為1000.txt), 刪除前: 刪除後:(永久刪除,而非丟到資源回收桶) 這邊就可以看到,第一個hex,已