10H类型属性即$STANDARD_INFORMATION属性,它包含文件的一些基本信息,如文件的传统属性、文件的创建时间和最后修改时间、有多少目录指向该文件(即其硬连接数)等。其属性头的结构在前文已做过说明,属性体各字段含义见表4-38。
表4-38 10H属性体的含义
字节偏移 | 字段长度(字节) | 含义 |
~ | ~ | 属性头(已分析过) |
0x00 | 8 | 文件创建时间 |
0x08 | 8 | 文件最后修改时间 |
0x10 | 8 | MFT修改时间 |
0x18 | 8 | 文件最后访问时间 |
0x20 | 4 | 传统文件属性 |
0x24 | 4 | 最大版本数:为0则表示版本是没有的 |
0x28 | 4 | 版本数:如果偏移24H处为0则此处也为0 |
0x2C | 4 | 分类ID(一个双向的类索引) |
0x30 | 4 | 所有者ID:表示文件的所有者,是访问文件配额$Quota中$O和$Q索引的关键字,如果为0则表示没有设置配额 |
0x34 | 4 | 安全ID:是文件$Secure中$SII索引和$SDS数据流的关键字,注意不要与安全标识相混淆 |
0x38 | 8 | 配额管理:配额占用情况,它是文件所有流所占用的总字节数,为0表示末使用磁盘配额 |
0x40 | 8 | 更新序列号(USN):文件最后的根新序列号,它是进入元数据文件$UsnJrnl直接的索引,如果为0,则表示没有USN日志 |
几点说明:
(1)64位时间区域说明
NTFS文件时间用长达64位来表示文件的某种时间(含日期),而在FAT文件系统中只用了32位来表示文件的时间和日期,NTFS文件系统中的文件时间的64位的数据表示的是有多少个100个10亿分之一秒(100-nanosecond也就是千万分之一秒)。
(2)传统文件属性
这里所说的传统文件属性主要是相对较早的文件系统的说法,比如DOS系统。传统文件属性含义见表4-39。
表4-39 传统属性表
标志 | 二进制位 | 含义 |
0x0001 | 0000 0000 0000 0001 | 只读 |
0x0002 | 0000 0000 0000 0010 | 隐含 |
0x0004 | 0000 0000 0000 0100 | 系统 |
0x0020 | 0000 0000 0010 0000 | 存档 |
0x0040 | 0000 0000 0100 0000 | 设备 |
0x0080 | 0000 0000 1000 0000 | 常规 |
0x0100 | 0000 0001 0000 0000 | 临时 |
0x0200 | 0000 0010 0000 0000 | 稀疏文件 |
0x0400 | 0000 0100 0000 0000 | 重解析点 |
0x0800 | 0000 1000 0000 0000 | 压缩 |
0x1000 | 0001 0000 0000 0000 | 脱机 |
0x2000 | 0010 0000 0000 0000 | 未编入索引 |
0x4000 | 0100 0000 0000 0000 | 加密 |
10H属性的属性体实例如图4-413所示。
图4-413 10H属性的属性体
10H属性的属性体模板如图4-414所示。
图4-414 10H属性的属性体模板