NTFS文件系统文件名属性
2021-07-01
340
0
NTFS 文件名属性属性的代号
文件名属性属性的类型值为:0x30.
信息属性NTFS 文件名属性的常驻性
是常驻属性,每一个文件或者目录都必须存在。
任何文件或目录在它的MFT项中至少有一个文件名属性,同时这个文件或目录至少有一个父目录索引中的文件名属性参考号,使用这个参考号,很容易确定这个文件MFT项的完整路径。
NTFS 文件名属性的内容
- 文件名,文件名属性为Unicode编码谁的名。
- 文件名的四个时间戳。
- 文件的分配空间大小和实际文件大小。
- 文件名的标志域,说明该MFT项是文件还是目录;是否具有只读、系统文件、压缩及加密等属性。当然标准信息中也有同样的标志。
文件名属性中的很多属性信息和标准属性一样,不同这农行卡是它含有文件名及可以用来确定文件完整路径的父目录参考号。
对于一个文件或目录,文件名属性一般为第二属性。如一个文件有多个MFT项,那么它将会有一个“属性列表属性($ATTRIBUTE_LIST)”,属性列表属性的类型值为0x20,它位于标准属性和文件名属性之间。
NTFS 文件名属性数据结构
字节偏移 | 字节数 | 含义 |
---|---|---|
00~07 | 8 | 父目录的文件参考号 |
08~0F | 8 | 文件创建时间 |
10~17 | 8 | 最后修改时间 |
18~1F | 8 | MFT改变时间 |
20~27 | 8 | 最后访问时间 |
28~2F | 8 | 文件分配的大小 |
30~37 | 8 | 文件的实际大小 |
38~3B | 4 | 文件标志0x0001-只读0x0002-隐藏0x0004系统0x0020-存档0x0040-设备0x0080-常规0x0100-临时0x0200-稀疏0x0400-重解析点0x0800-压缩0x1000-脱机0x2000-没有为了快速搜索而编入索引0x01000-加密 |
3C~3F | 4 | 重解析值 |
40 | 1 | 文件名长度 |
41 | 1 | 文件名命名空间0-POSIX命名空间1-Win32命名空间2-DOS命名空间;3-Win32&DOS命名空间 |
42~ | 2L | 文件名(Unicode码) |
命名空间规则:
- POSIX 是最大的文件名空间,它的最大长度为255,除空字符(0x00)和斜线”/“外,其它所有的Unicode字符都可以使用。字母的大小写是敏感的。
- Win32命名空间是POSIX的子集,它允许除“/”, “” ,”:”, “>”,”<”及”?”以外的Unicode字集,但不能以”.”和空格结束。
- DOS命名空间是Win32的子集,只能用大写字母,使用8.3格式文件名,即它的文件名部分不超过8字符,扩展名不起过3字符。在这个空间, 即使将一个文件名命名为“abc.txt”,也会自动转成”ABC.TXT”,因且在”abc.txt”存在的情况下,建立”ABC.TXT”会被认人同名而不允许使用。
- Win32&DOS命名空间 指文件拥有一个标准的DOS命名空间名,不需要两个文件名。
NTFS 文件名属性属性示例:
主文件表MFT里的文件名信息
含义如下: