eCDFP Module (5) File System Analysis (Part-2)

FAT File System  တစ်ခုစီမှာ Cluster တွေဘယ်လောက်ရှိနိုင်လဲဆိုတာကို အောက် ဖော်ပြပါ Table မှာ မြင်တွေ့နိုင်ပါတယ်။


#RC ဆိုတာက Reserved Cluster ဖြစ်ပါတယ်။ FAT32 File System မှာ 28 Bits ပဲအသုံးပြုပါတယ်။ ကျန်တဲ့ 4 Bits က Reserved ဖြစ်ပါတယ်။  

အခုအချိန်မှာ အများဆုံးအသုံးပြုတာက FAT 32 ဖြစ်ပါတယ်။ Volume Size အပေါ်မူတည်ပြီး FAT32 File System ရဲ့ Default Cluster Size တွေကို အောက်မှာ ဇယားနဲ့ပြသထားပါတယ်။




FAT FILE STRUCTURE

  အောက်မှာ ဖော်ပြထားတဲ့ပုံကတော့ Storage ပေါ်မှာမြင်ရတဲ့ FAT File System ရဲ့ High Leve View ပဲဖြစ်ပါတယ်။



Reserved Area

  Reserved Area မှာပါတဲ့ Sector Size (Sector အရေအတွက်)  ကတော့ အသုံးပြုတဲ့ FAT File System ပေါ်ကိုမူတည်ပါတယ်။

 


FAT Area

              ကျန်တဲ့ FAT12 FAT 16 တွေမှာ FAT Area က တစ်ခုပဲပါဝင်ပေမဲ့ FAT 32 မှာဆိုရင် FAT1, FAT2 ဆိုပြီး FAT Area 2 ခုပါဝင်ပါတယ်။

အောက်ကပုံမှာ FAT1, FAT2 ကို  မြင်သာအောင် Disk  Editor နဲ့ပြသထားပါတယ်။ 



အောက်ကပုံမှာဖော်ပြထားတာကတော့ FAT12, FAT 16 ရဲ့ Reserved Area မှာရှိတဲ့ Structure ကိုဖော်ပြထားတာဖြစ်ပါတယ်။ အပေါ်မှာလဲ Reserved Area မှာပါတဲ့ Sector Size (Sector အရေအတွက်)  ကတော့ အသုံးပြုတဲ့ FAT File System ပေါ်ကိုမူ တည် ကြောင်းကိုပြောပြီးပါပြီ။

အောက်ကပုံကတော့ FAT32 (Reserved Area ) မှာရှိတဲ့ Structure ကိုဖော်ပြထားတာဖြစ်ပါတယ်။


 အောက်ကပုံကတော့ FAT32 ရဲ့ Reserved Area ကို Disk Editor နဲ့ ပြသထား တာဖြစ်ပါတယ်။  ( အချို့ Course မှာပါတဲ့ အကြောင်းအရာတွေကို ပိုပြီး မြင်သာအောင် Disk Editor နဲ့ထပ်ပြီးရှင်းလင်းသွားပါမယ်။)



    အပေါ်ကပုံအရ FAT 32 ရဲ့ Reserved Area က 32 Sector ရှိကြောင်းကို သိထားပြီးဖြစ်ပါတယ်။ အောက်က ဇယားကတော့ Boot Sector မှာပါတဲ့ Sector 8 ခုမှာပါဝင်တာတွေဖြစ်ပါတယ်။ Bootstrap ကတော့ Storage က Bootable မဖြစ်ရင် မရှိပါဘူး။ ဒါပေမဲ့ Disk Editor နဲ့ကြည့်ရင် (0X55AA) နဲ့အဆုံးသတ်ပါတယ်။ End Of Sector လဲဖြစ်ပါတယ်။ 

Boot Sector

အောက်ဖော်ပြပါပုံကတော့ FAT12/FAT16 ရဲ့ Boot Sector မှာပါဝင်တာတွေဖြစ်ပါတယ်။ 

အောက်ဖော်ပြပါပုံကတော့ FAT32 ရဲ့ Boot Sector မှာပါဝင်တာတွေဖြစ်ပါတယ်။

BIOS Parameter Block, Extended BIOS Parameter Block ရဲ့ Size ကတော့ Operation System, Version အပေါ်မူတည်ပါတယ်။

    အခု Module မှာ FAT12/FAT16 ထက်စာရင် FAT32 အကြောင်းကိုပဲ ဖော်ပြထားပါတယ်။ FAT32 က အသုံးများတဲ့အတွက်ဖြစ်ပါတယ်။ နောက် ဆက်လက်ပြီး ဖော်ပြမှာက Boot Sector ထဲမှာပါဝင်တဲ့  BIOS Parameter Block အကြောင်း ဖြစ်ပါတယ်။ စာကြည့်ရုံတင်မကပဲ  Disk Editor တစ်ခုခုနဲ့ လက်တွေ့လိုက်လုပ်ကြည့်ရင် ပိုပြီးမြင်သာပါတယ်။ 

အောက်ကပုံကတော့ FAT32 ရဲ့ Boot Sector ကို Byte Level အနေနဲ့ မြင်သာ အောင်ဖော်ပြထားတာဖြစ်ပါတယ်။


 


ရှင်လင်းတဲ့အကြောင်းအရာတစ်ခုခြင်းကို ပုံမှာ ကာလာပြောင်းထားပါတယ်။ 


Jump Boot Code  = Boot လုပ်ဖို့အတွက် Command တွေပါဝင်ပါတယ်။ အခုပုံအရ EB 58 90 နဲ့နမူနာပြထားပါတယ်။ Hardware အတွက်အသုံးပြုတဲ့ Assembly Instruction တွေဖြစ်ပါတယ်။ 


OEM/NAME Version = အခုပုံအရ OEM/NAME Version က MSDOS5.0 ဖြစ်ပါတယ်။ 

BIOS Parameter Block (BPB)

အခုကနေစပြီး Disk Editor နဲ့ ပြထားတဲ့ ယခုပုံနဲ့ယှဉ်ကြည့်ရင် ပိုပြီးနား လည်နိုင်ပါတယ်။  နမူနာပြထားတဲ့ Storage မတူညီတဲ့အတွက် Course မှာပါတာနဲ့ ကွဲပြားပါတယ်။  

Bytes Per Sector  ရဲ့ တန်ဖိုးက 0002 ဖြစ်ပါတယ်။ 0022 ဖြစ်တဲ့အတွက် Sector တစ်ခုမှာရှိတဲ့ Bytes ရဲ့ ပမာဏက 512 bytes ဖြစ်ပါတယ်။

Sector Per Cluster ရဲ့ တန်ဖိုးက 10 ဖြစ်ပါတယ်။ Hex 10 ကို Decimal ပြောင်းရင် 16 ရပါတယ်။ ဒါကြောင့် Cluster တစ်ခုမှာ ပါဝင်တဲ့ Sector အရေအတွက်က 16 ခုဖြစ်ပါတယ်။

Reserved Number Of Sector တန်ဖိုးက 820C ဖြစ်ပါတယ်။  Reserved Number Of Sector = 3,202 



Number Of FAT တန်ဖိုးက 02 ဖြစ်ပါတယ်။ ဒါကြောင့် Hex – Decimal အရ Number Of FAT = 2 ဖြစ်ပါတယ်။ FAT 32 မှာ FAT1, FAT2 ဆိုပြီး FAT  Area 2 ခုပါတာကို မှတ်မိတယ်ထင်ပါတယ်။ 



Number Of Root Directory Entries တန်ဖိုးက 0000 ဖြစ်ပါတယ်။ ဒါကြောင့် Number Of Root Directory Entries = 0


Total Number Of Sector In The File System တန်ဖိုးက 0000 ဖြစ်ပါတယ်။ 

Total Number Of Sector In The File System = 0



Media Type = F8 ဖြစ်တဲ့အတွက် Hard Disk ဖြစ်ပါတယ်။

Number Of Sector Per FAT = 0000 ဖြစ်တဲ့အတွက် Number Of Sector Per FAT = 0 


Number Of Sector Per Track = 3F00  ဖြစ်တဲ့အတွက် Number Of Sector Per Track = 63

Number Of Head =FF00 ဖြစ်တဲ့အတွက် Number Of Head = 255


Number Of Hidden Sector (4 Bytes)  = HEX= 00 08 00 00 ဖြစ်တဲ့အတွက်

 Number Of Hidden Sector = 2048

Total Number Of Sector In The File System = 0070CE01 = 30,306,304 Sectors

30,306,304 Sectors x 512 Bytes = 15,516,827,648 Bytes (Total Size) 


Sector Per FAT  က 4 Bytes နေရာယူထားပါတယ်။ ဒါကြောင့် သူရဲ့ Hex =  BF390000 ဖြစ်ပါတယ်။  Decimal ပြောင်းတဲ့အခါမှာ 39BF  အနေနဲ့ပြောင်းပါတယ်။ ဒါကြောင့်

Sector Per FAT  = 14783



Extended Flag  ရဲ့ Hex = 0000 ဖြစ်တဲ့အတွက် = 0 ဖြစ်ပါတယ်။  0-3 Bits ဆိုရင် Active မဖြစ်ပါ။ 4 – 6, 8 – 45  ဆိုရင် Reserved ဖြစ်ပါတယ်။ 7 ဆိုရင် Single FAT Active ဖြစ်ပါတယ်။

File System Version က 2 Bytes နေရာယူထားပါတယ်။ HEX=0000 ဖြစ်တဲ့အတွက် 0 ဖြစ်ပါတယ်။ File Cluster Of Root Directory = HEX=02000000 ဖြစ်တဲ့အတွက် 2 ဖြစ်ပါတယ်။ 

File Cluster Of Root Directory ကတော့ အမြဲတန်း 2 ဖြစ်ပါတယ်။ 


File System Information Sector က (2 Bytes) နေရာယူထားပါတယ်။ HEX= 0100 ဖြစ်တဲ့အတွက် 1 ဖြစ်ပါတယ်။ File System Information မှာ Sector 1 ခုရှိတယ်ဆိုတဲ့ သဘောပါ။

Backup Boot Sector Location (2 Bytes) နေရာယူထားပါတယ်။ HEX = 0600 ဖြစ်တဲ့အတွက် 6 ဖြစ်ပါတယ်။ ၀ ဖြစ်နေရင် Backup မရှိပါဘူး။ အခု 6 ဖြစ်တဲ့အတွက် Backup Boot Sector Location က Sector နံပတ် 6 မှာရှိနေပါတယ်။ Disk Editor ကနေ Sector နံပတ် 6 နေရာကို နမူနာအနေနဲ့ ပြသထားပါတယ်။ 

Backup Boot Sector Location


Reserved  ကတော့ (12 Bytes) နေရာယူထားပါတယ် HEX = 000000000000000000000000 ဖြစ်တဲ့အတွက် 0 ဖြစ်ပါတယ်။ 

Extended BIOS Parameter Block (EBPB) 

Physical Disk Number (1 Bytes) Hex 80  ဖြစ်တဲ့အတွက် 128 ဖြစ်ပါတယ်။

Not Used က တော့ 1 Byte အနေနဲ့ Reserved ထားပါတယ်။

Signature ကတော့ (1 Bytes) Hex 29 ဖြစ်တဲ့အတွက် 41 ဖြစ်ပါတယ်။ သူ့ရဲ့နောက်မှာ နောက်ထပ် အပိုင်း ၃ ပိုင်းရှိကြောင်းပြောတာဖြစ်ပါတယ်။ 

Volume Serial Number (ID) ကတော့ (4 Bytes) နေရာယူထားပါတယ်။ 9F40699A4E ဖြစ်ပါတယ်။

Volume Label ကတော့ (11 Bytes) နေရာယူထားပါတယ်။

 HEX= 699A4E4F204E414D452020 ဖြစ်ပါတယ်။ No Name ဖြစ်ပါတယ်။ 


File System ID ကတော့ 8 Bytes နေရာယူထားပါတယ်။ FAT 32 ဖြစ်ပါတယ်။


    ဒီလောက်ဆိုရင် FAT 32 File System Boot Sector အကြောင်းအသင့် အတင့်နားလည် မယ်လို့ထင်ပါတယ်။  Forensic Disk Editor တွေမှာတော့ Storage တစ်ခုကို Attach လုပ်လိုက်တာနဲ့ အပေါ်က တန်းဖိုးတွေကို အသင့်ပြပေးပါတယ်။ 



File System Information  (FSINFO) Sector


FSINFO Area မှာ Sector 1 ခုပဲရှိတယ်ဆိုတာ အပေါ်မှာပြောထားတာမှတ်မိမှာပါ။ 



                     



FSINFO Signature = 0x52526141 = RRaA

Second Signature = 72724161 rrAa

Number Of Free Cluster (4 Bytes) = 0xFCDE1C00

Next Free Cluster = 0x06000000

Number Of Free Cluster ကိုတွက်မယ်ဆိုရင် Hex= 0xFCDE1C00 = Decimal ပြောင်းရင် 1892092 ရပါတယ်။ အခု Storage ရဲ့ Cluster တစ်ခုမှာ 16 Sector ရှိပါတယ်။

(1892092) x (16) = 30,273,472

ရလာတဲ့ 30,273,472 ကို Sector တစ်ခုမှာ ရှိတဲ့ Byte အရေအတွက်နဲ့မြှောက်ပါမယ်။

(30,273,472) x (512) = 15,500,017,664 Bytes 

ရလာတဲ့ အဖြေကို Storage နဲ့တိုက်ဆိုင်စစ်ဆေးကြည့်ပါမယ်




Comments

Popular posts from this blog

B-Trees (NTFS)

NTFS Index Attributes

Volatility Workbench (GUI) for the Volatility tool