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 ကိုဖော်ပြထားတာဖြစ်ပါတယ်။
အပေါ်ကပုံအရ 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
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 နေရာကို နမူနာအနေနဲ့ ပြသထားပါတယ်။
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
Comments