-
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathNTFS - MFT Attribute List.tpl
62 lines (58 loc) · 1.57 KB
/
NTFS - MFT Attribute List.tpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
template "NTFS - MFT Attribute List"
// Costas Katsavounidis - 2021.1
// kacos2000 [at] gmail.com
// https://github.com/kacos2000
//
// To be applied to the start of an $Attribute_list Attribute
description "NTFS - MFT Attribute List"
applies_to file/disk
read-only
requires 0 "20 00 00 00" //$Attribute_list attribute type Signature
begin
hex 4 "Attribute"
ifEqual Attribute 0x20000000
move 20
else
move -4
endIf
numbering 1 {
section "Attribute #~"
hex 4 "Attribute Type"
ifEqual "Attribute Type" 0xFFFFFFFF
endSection
end
endIf
uint16 "Record_length"
ifEqual "Record_length" 0
endSection
end
endIf
uint8 "Stream_Name_Length"
uint8 "Stream_Name_Offset"
int64 "Start VCN"
uint48 "Base Record Number"
ifEqual "Base Record Number" 0
endSection
end
else
ifGreater "Base Record Number" 4294967295 // Limit to uint32
endSection
end
endIf
uint16 "Base Record Sequence Nr"
uint16 "Attribute ID"
ifGreater Stream_Name_Length 0
move -26
move Stream_Name_Offset
string16 Stream_Name_Length "Stream Name"
move -4
move ((Stream_Name_Offset)*(-1))
move ((Stream_Name_Length)*(-1))
move Record_length
else
move -26
move Record_length
endIf
endSection
}[32]
end