eCDFP Module (5) File System Analysis (Part-9) (NTFS File System Analysis)
NTFS Attributes
အခုဆက်ပြီးဖော်ပြမှာက MFT Entry မှာပါဝင်တဲ့ Attributes တွေအကြောင်းနဲ့ Attributes Structure အကြောင်းဖြစ်ပါတယ်။ Attributes တွေက MFT Entry ထဲမှာ မတူညီတဲ့ အချက်အလက်တွေကို သိမ်းဆည်းထားပါတယ်။ ဥပမာ (File Name, Time Stamps, Content, Etc … ) MFT Entry မှာပါတဲ့ Attributes တွေမှာ တူညီတဲ့ Header Data Structure ရှိပါတယ်။ Attributes တိုင်းမှာ Header, Content ဆိုပြီး အပိုင်း (၂) ပိုင်းပါဝင်ပါတယ်။
Attributes တွေက Resident Attributes သို့မဟုတ် Non-Resident Attributes ဆိုပြီး (၂) မျိုးရှိနိုင်ပါတယ်။ Attributes တိုင်းရဲ့ Header Data Structure တွေတူညီပေမဲ့ Data Content Structure ပိုင်းကတော့ မတူညီပါဘူး။ Non-Resident မှာ Cluster Running တွေပါဝင်ပါတယ်။
Resident Attribute and Non-Resident Attribute
တစ်ကယ်လို့ File တစ်ခုရဲ့ Data Size က 700 Bytes ထက်နည်းမယ်ဆိုရင် Attribute က Resident Attribute ဖြစ်ပါမယ်။ File Data Size က 700 Bytes ထက်ကြီးမယ်ဆိုရင်တော့ Non-Resident Attribute ဖြစ်ပါမယ်။
Resident Attribute မှာ Attribute မှာပါတဲ့ Header နဲ့ Header Content က တစ်ဆက်တည်းဖြစ်ပါတယ်။ ဥပမာ။ $FILENAME, $STANDARD_INFORMATION
Non-Resident Attribute မှာပါတဲ့ Content တွေက Storage ရဲ့ Cluster တွေပေါ်မှာ ပြန့်ကျဲပြီး တည်ရှိနေပါတယ်။ MFT Entry Record ထဲမှာ Content တွေကမပါဝင်ပါဘူး။ ဥပမာ။ $DATA Attributes ဖြစ်ပါတယ်။ Attributes တစ်ခုဖြစ်တဲ့ $ATTRIBUTES _LIST က $DATA Attributes ထဲမှာပါတာကို Track လုပ်ပါတယ်။
Resident Attributes နဲ့ Non-Resident Attributes တို့က Data Content Structure ပိုင်းမှာ မတူညီပေမဲ့ အပေါ်မှာပြောခဲ့သလိုပဲ Header Data Structure (16 Bytes) အပိုင်းမှာတူညီပါတယ်။
Attributes Type Identifier
Attributes Type Identifier က 4 Bytes နေရာယူထားပါတယ်။
(0x10) ဆိုတာက Attributes Type ကိုပြောတာဖြစ်ပါတယ်။
Length
Of Attribute
Length Of Attribute က (4 Bytes) နေရာယူပါတယ်။
Attribute ရဲ့ Length ကိုပြောတာဖြစ်ပါတယ်။
Length Of Attribute ထဲမှာ
Attribute ရဲ့ Header Length ပါ ပါဝင်ပါတယ်။
အခုပုံမှာဆိုရင် Attribute
ရဲ့ Length က (0x60) = 96 ဖြစ်ပါတယ်။ အနီရောင်နဲ့ ၀ိုင်းပြထားပါတယ်။
Non-Resident Flag က 1 Byte နေရာယူပါတယ်။
Attribute က Resident (OR) Non-Resident လားဆိုတာကကို Flag ကညွှန်ပြပေးပါတယ်။
Non-Resident Flag (0) ဖြစ်တယ်ဆိုရင် Resident Attribute ဖြစ်ပါတယ်။
Non-Resident Flag (1) ဖြစ်တယ်ဆိုရင် Non-Resident ဖြစ်ပါတယ်။
ပုံမှာ 0 ဖြစ်တဲ့အတွက် Resident Attribute ဖြစ်ပါတယ်။
Length Of The Attribute Name = ( 1 byte) နေရာယူမယ်။
Offset To The Attribute Name = (2 Bytes) နေရာယူမယ်။
Flag
0x0001 = Compressed
0x4000 = Encrypted
0x8000 = Sparse
Comments