「NTFS:让你的硬盘更安全、更高效!」NTFS文件系统详解,

NTFS(New Technology File
System)是一种现代的文件系统,是Windows操作系统中最常用的文件系统之一。它是一种高效、可靠、安全的文件系统,支持大容量存储、文件加密、压缩、权限控制等功能。本文将详细介绍NTFS文件系统的结构、 B o o t 文件、 Boot文件、 Boot文件、MFT元文件、文件记录、属性的属性头和属性体分析、MFT偏移地址计算以及遍历分区文件列表的思路。

一、NTFS文件系统的结构

NTFS文件系统由三个主要部分组成:引导扇区、文件记录和元文件。引导扇区包含启动代码和分区表,文件记录存储文件的数据和元数据,元文件存储文件系统的元数据。

引导扇区:NTFS文件系统的引导扇区包含了启动代码和分区表。启动代码是用来启动操作系统的程序代码,分区表则记录了分区的信息,包括分区的起始位置、大小、分区类型等。

文件记录:NTFS文件系统中的文件记录是用来存储文件的数据和元数据的。每个文件记录都包含了文件的属性信息、文件名、文件数据等。文件记录的大小是固定的,通常为1KB或4KB。

元文件:NTFS文件系统中的元文件是用来存储文件系统的元数据的。元数据包括文件系统的信息、文件记录的信息、磁盘空间的分配情况等。元文件通常包括 M F T (文件记录表)、 MFT(文件记录表)、 MFT(文件记录表)、Bitmap(位图)、$LogFile(日志文件)等。

二、$Boot文件

B o o t 文件是 N T F S 文件系统中的一个特殊文件,它包含了文件系统的一些基本信息,如文件系统版本、簇大小、分区大小等。 Boot文件是NTFS文件系统中的一个特殊文件,它包含了文件系统的一些基本信息,如文件系统版本、簇大小、分区大小等。 Boot文件是NTFS文件系统中的一个特殊文件,它包含了文件系统的一些基本信息,如文件系统版本、簇大小、分区大小等。Boot文件的大小为512字节,它的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,Jump指令是用来跳转到启动代码的,OEM ID是用来标识文件系统的,Bytes Per Sector表示每个扇区的字节数,Sectors Per
Cluster表示每个簇包含的扇区数,Reserved Sectors表示保留扇区的数量,Media Descriptor表示磁盘介质类型,Sectors
Per Track表示每个磁道的扇区数,Number of Heads表示磁头的数量,Hidden Sectors表示隐藏扇区的数量,Total
Sectors表示分区的总扇区数,MFT Start Cluster表示 M F T 元文件的起始簇号, M F T M i r r o r S t a r t C l u s t e r 表示 MFT元文件的起始簇号,MFT Mirror Start Cluster表示 MFT元文件的起始簇号,MFTMirrorStartCluster表示MFT镜像文件的起始簇号,Clusters Per MFT Record表示每个 M F T 记录占用的簇数, C l u s t e r s P e r I n d e x B l o c k 表示每个索引块占用的簇数, V o l u m e S e r i a l N u m b e r 表示卷序列号, C h e c k s u m 是用来校验 MFT记录占用的簇数,Clusters Per Index Block表示每个索引块占用的簇数,Volume Serial Number表示卷序列号,Checksum是用来校验 MFT记录占用的簇数,ClustersPerIndexBlock表示每个索引块占用的簇数,VolumeSerialNumber表示卷序列号,Checksum是用来校验Boot文件的。

三、$MFT元文件

M F T 元文件是 N T F S 文件系统中的一个特殊文件,它存储了文件系统中所有文件记录的信息。 MFT元文件是NTFS文件系统中的一个特殊文件,它存储了文件系统中所有文件记录的信息。 MFT元文件是NTFS文件系统中的一个特殊文件,它存储了文件系统中所有文件记录的信息。MFT元文件的大小通常为1024个簇,每个簇的大小为 B o o t 文件中定义的簇大小。 Boot文件中定义的簇大小。 Boot文件中定义的簇大小。MFT元文件的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,文件头包含了文件的一些基本信息,如文件名、文件属性等。文件记录则包含了文件的属性信息、文件名、文件数据等。每个文件记录的大小是固定的,通常为1KB或4KB。每个文件记录都有一个唯一的标识符,称为文件记录号(File
Record Number,简称FRN)。 M F T 元文件中的第一个文件记录是 MFT元文件中的第一个文件记录是 MFT元文件中的第一个文件记录是MFT本身,它的文件记录号为0。

四、文件记录

NTFS文件系统中的文件记录是用来存储文件的数据和元数据的。每个文件记录都包含了文件的属性信息、文件名、文件数据等。文件记录的大小是固定的,通常为1KB或4KB。文件记录的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,文件头包含了文件的一些基本信息,如文件名、文件属性等。文件记录则包含了文件的属性信息、文件名、文件数据等。每个文件记录都有一个唯一的标识符,称为文件记录号(File
Record Number,简称FRN)

五、MFT偏移地址计算

在NTFS文件系统中,每个文件记录都有一个唯一的标识符,称为文件记录号(File Record
Number,简称FRN)。要访问某个文件记录,需要先找到该文件记录在$MFT元文件中的偏移地址。计算偏移地址的公式如下:

$MFTOffset = MFTStartCluster * ClusterSize + FRN * RecordSize

其中,MFTStartCluster是$MFT元文件的起始簇号,ClusterSize是簇的大小,FRN是文件记录号,RecordSize是文件记录的大小。

六、属性的属性头分析

NTFS文件系统中的文件记录包含了多个属性,每个属性都有一个属性头和一个属性体。属性头包含了属性的一些基本信息,如属性类型、属性长度、属性标志等。属性头的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,Type表示属性的类型,Length表示属性的长度,Non-
Resident表示属性是否为非驻留属性,NameLength表示属性名的长度,NameOffset表示属性名的偏移量,Flags表示属性的标志,AttributeID表示属性的标识符。

七、属性的属性体分析

NTFS文件系统中的文件记录包含了多个属性,每个属性都有一个属性头和一个属性体。属性体包含了属性的具体内容,如文件数据、文件名、文件属性等。属性体的结构因属性类型而异,下面以常见的属性类型为例进行介绍。

1. $STANDARD_INFORMATION属性

S T A N D A R D I N F O R M A T I O N 属性包含了文件的一些基本信息,如创建时间、修改时间、访问时间、文件属性等。 STANDARD_INFORMATION属性包含了文件的一些基本信息,如创建时间、修改时间、访问时间、文件属性等。 STANDARDINFORMATION属性包含了文件的一些基本信息,如创建时间、修改时间、访问时间、文件属性等。STANDARD_INFORMATION属性的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,CreationTime表示文件的创建时间,LastAccessTime表示文件的最后访问时间,LastWriteTime表示文件的最后修改时间,FileAttributes表示文件的属性,如只读、隐藏、系统等。

2. $FILE_NAME属性

F I L E N A M E 属性包含了文件的名称、大小、创建时间、修改时间、访问时间等信息。 FILE_NAME属性包含了文件的名称、大小、创建时间、修改时间、访问时间等信息。 FILENAME属性包含了文件的名称、大小、创建时间、修改时间、访问时间等信息。FILE_NAME属性的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,ParentDirectory表示文件所在的父目录的FRN,CreationTime表示文件的创建时间,LastAccessTime表示文件的最后访问时间,LastWriteTime表示文件的最后修改时间,FileSize表示文件的大小,Flags表示文件的标志,如只读、隐藏、系统等,FileNameLength表示文件名的长度,FileName表示文件名。

3. $DATA属性

D A T A 属性包含了文件的数据。 DATA属性包含了文件的数据。 DATA属性包含了文件的数据。DATA属性的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,Non-Resident表示数据是否为非驻留属性,DataRuns表示数据的运行列表,Data表示数据的内容。

4. $INDEX_ROOT属性

I N D E X R O O T 属性包含了目录的索引信息。 INDEX_ROOT属性包含了目录的索引信息。 INDEXROOT属性包含了目录的索引信息。INDEX_ROOT属性的结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中,Type表示索引的类型,CollationRule表示排序规则,BytesPerIndexRecord表示每个索引记录的大小,ClustersPerIndexRecord表示每个索引记录占用的簇数,IndexEntriesOffset表示索引记录的偏移量,IndexEntriesLength表示索引记录的长度,IndexEntries表示索引记录的内容。

八、遍历分区文件列表的思路

要遍历NTFS文件系统中的所有文件,需要先找到 M F T 元文件的起始簇号和大小,然后读取 MFT元文件的起始簇号和大小,然后读取 MFT元文件的起始簇号和大小,然后读取MFT元文件的内容,解析每个文件记录,获取文件的属性信息、文件名、文件数据等。具体的遍历思路如下:

1. 读取 B o o t 文件,获取簇大小和 Boot文件,获取簇大小和 Boot文件,获取簇大小和MFT元文件的起始簇号。

2. 计算 M F T 元文件的大小,读取 MFT元文件的大小,读取 MFT元文件的大小,读取MFT元文件的内容。

3. 解析$MFT元文件中的每个文件记录,获取文件的属性信息、文件名、文件数据等。

4. 如果文件是目录,则遍历目录下的所有文件。

5. 如果文件是非驻留属性,则读取DataRuns列表,获取数据的位置和大小,读取数据。

6. 如果文件是索引属性,则读取IndexEntries列表,获取索引记录的位置和大小,解析索引记录,获取文件的属性信息、文件名、文件数据等。

7. 重复步骤3-6,直到遍历完整个分区。

总结

本文详细介绍了NTFS文件系统的结构、 B o o t 文件、 Boot文件、 Boot文件、MFT元文件、文件记录、属性的属性头和属性体分析

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值