ntfs格式之fmt0x80解析1
ntfs格式解析,这里主要是用于备注,毕竟好记性不如烂笔头。
工具主要是使用winhex.
图中,红框的文件是ntfs系统源文件,可以理解为数据库。
其中有一个mft文件,这里储存了在硬盘中保存的所有文件。
软件会自动调整到mft文件数据区。 这里简单介绍下mft记录头格式,大体来说一个文件就有一个mft记录(包括文件夹也是),然后一个mft记录里面有很多属性,不同的属性记录了不同的内容, 比如:
0x10记录标准数据,也就是文件创建时间,修改时间什么的
0x80记录文件数据
0x30记录文件名
0x90记录索引数据, 0xa0则是索引扩展记录,这里的索引是指的文件夹中的文件(也就是0x90就是一个文件夹,里面记录了所有的文件,当文件太多时会使用0xa0进行记录)。
这里直接上图,重要的我已经框起来了:
比如上图,第一个属性的偏移为0x38,也就是从记录头偏移0x38就是第一个属性位置,即0x14cb3838就是第一个属性的位置(如下图):
上图中,黄色的0x38代表第一个属性偏移量,而且我使用了不同色块来包含不同属性。右图中框起来了重要的属性。比如长度,偏移量,属性值长度等。
最后一个就是0x80属性,这里面包含了这个文件的所有数据内容。这个文件是一个txt文件.
这里着重说明下0x80属性,重要数据位置如下:
- 0x14d17138-0x14d171b(4字节) 这里是0x80
- 0x14d1713c-0x14d171f(4字节) 这里是属性的总长度为0x50
- 0x14d17148-0x14d174b(4字节) 这里是属性值的偏移位置为: 0x32
- 0x14d1714d-0x14d174f(4字节) 这里是属性值的长度为: 0x18
也就是数据体就是 0x14d1716a-0x14d17181 这些数据,总共0x18个字节。
一般一个FILE
区块占用2个扇区,总共512*2=1024个字节。 所以,当文件大于1024字节后,内容将不会直接储存在FILE
区块。
此时文件将会使用0x80
非常驻属性来储存在其他扇区中。
This post is licensed under
CC BY 4.0
by the author.