NTFS文件系统解析课件_第1页
NTFS文件系统解析课件_第2页
NTFS文件系统解析课件_第3页
NTFS文件系统解析课件_第4页
NTFS文件系统解析课件_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NTFS文件系统解析1、基本概念元文件:NTFS包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format程序放在卷上的。MFT属性:NTFS中所有与数据相关信息都称之为“属性”,甚至文件内容也被称为“数据属性”。NTFS与其他文件系统最大不同在于,大多数文件系统是对文件内容进行读写,而NTFS则是对包含文件内容的属性进行读写NTFS文件系统解析1、基本概念$MFT主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号X8=扇区数)$MFTMirrMFT的镜像$LOGFILE日志文件,这个是删不掉的。(元文件不能被删除,因为系统下不可访问)$volume见文件,记录号,创建时间$attrdef属性定义列表$bitmap位图文件$root根目录文件$badclus坏簇的列表,在格式化的时候,NTFS发现坏的簇会做标记。防止系统访问他,或者读取它。$boot引导文件$quota磁盘配额信息$secure安全文件$upcase大小写字母的转换$extendmetadatadirectry扩展元文件目录$extend\$reparse解析文件$extend\$usnjrnl加密日志文件

$extend\$quota配额管理文件

$extend\$objid对象ID文件$MFT主文件表(在DBR里30~37表示。数值NTFS的DBR

NTFS的引导扇区也位于文件系统的0号扇区,这是它与FAT文件系统在布局上的唯一相同之处。 数据结构如下图,当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。NTFS的DBR

NTFS的引导扇区也位于文件系统的0号在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NTloader程序)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则WindowsNT/2000就认为该卷未格式化。在NTFS卷上,BPB后面的数据字段构成扩展BPB。字节偏移(十六进制)字节数含义00-023跳转指令03-0A8OEM名(“明文NTFS”)0B-0C2每扇区字节数0D1每簇扇区数0E-0F2保留扇区数151介质描述符18-192每磁道扇区数(不检查此项)1A-1B2每柱面磁头数(不检查此项)1C-1F4隐含扇区数(不检查此项)24-274总是80008000(不检查此项)28-2F8文件系统扇区总和30-378MFT起始簇号38-3F8MFT备份的起始簇号401每MFT项大小41-433未使用441每个索引的簇数45-473未使用48-4F8序列号50-534校验和54-1FD426引导代码1FE-1FF2签名55AA标记字节偏移(十六进制)字节数含义00-023跳转指令03-0A以上引导扇区最为关键的字节数是0B-0C(每扇区字节数)0B-0C(每扇区字节数)0D(每簇扇区数)28-2F(文件系统扇区总和)30-37(MFT起始簇号)38-3F(MFT备份的起始簇号)40(每MFT项大小)44(每个索引的簇数),但数据发生不可预料的损坏时,可以根据以上信息重建分区表,定位数据区,恢复MFT,重建DBR,这些关键字节码的用处不言而喻。以上引导扇区最为关键的字节数是0B-0C(每扇区字节数)0$MFT主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号X8=扇区数)跳转到上边的扇区数,就是文件记录。开头一定是File开头(46494C45)这就是$MFT的开始位置。NTFS文件系统解析课件30属性是6行半(就是文件名属性$MFT)因为$MFT也是以文件形式存储的,那么$MFT的第一个文件记录就是他的本身。实际上$MFT是个数据库。NTFS文件系统解析课件向后边翻上两个扇区,就到了$MFTMirrMFT的镜像$MFT我们在DBR里也能看到他在什么地方。30~37H的数值上体现)$MFTMirr我们在DBR里的38~3F的数值上能体现出来。镜像应该跟$MFT是一样的,但是他跟FAT32不一样,所以备份也不一定是完全一样的。镜像只是前4个元文件的文件记录的备份。1、

$MFT2、

$MFTMirr3、日志文件4、卷标四个元文件之后,就没有备份了。所以向下搜索是搜索不到的,只有4个NTFS文件系统解析课件浏览文件点击WINHEX浏览文件$mft和$mftmirr在系统下是看不到的,只能在这里看到。$mft本身是一个文件大小会有变化,这里有32K$mftmirr只有4K,占用8个扇区。浏览文件点击WINHEX浏览文件MFT属性属性的结构:每个MFT项大小为1024字节,分为两部分,MFT头和属性列表。属性有许多类型,每种属性都有自己的内部结构:属性头和属性内容。由于属性有常驻属性和非常驻属性之分,所以属性头也有差别,但不管是常驻还是非常驻,它们属性头的前16个字节是相同的结构。(如下图)MFT属性属性的结构:NTFS文件系统解析课件在这个MFT项中,0x00~0x37是MFT的头部。后面为属性列表。共有4个属性,前三个是常驻属性,最后一个为非常驻属性。深色部分则是每个属性的属性头。图中可看出,前三个属性(常驻)属性头一样大小,最后一个要大一些。在这个MFT项中,0x00~0x37是MFT的头部。后面为属NTFS将文件作为属性/属性值的集合来处理,这一点与其他文件系统不一样。文件数据就是未命名属性的值,其他文件属性包括文件名、文件拥有者、文件时间标记等。下图显示了一个用于小文件的MFT记录NTFS将文件作为属性/属性值的集合来处理,这一点与其他文件属性头属性头主要用于说明该属性的类型、大小及名字,同时包含压缩、加密等标志。常驻属性的属性头属性头属性头主要用于说明该属性的类型、大小及名字,同时包含压NTFS文件系统解析课件NTFS文件系统解析课件非常驻属性头结构非常驻属性头结构常驻属性等很小的属性与其属性头一起存放在MFT中,内容跟在属性头后面。非常驻属性则另外存储在MFT以外的簇空间中,并在MFT中的属性描述项中记录它的簇地址。常驻属性等很小的属性与其属性头一起存放在MFT中,内容跟在属大文件或大目录的所有属性,就不可能都常驻在MFT中。如果一个属性(如文件数据属性)太大而不能存放在只有1KB的MFT文件记录中,那么NTFS将从MFT之外分配区域。这些区域通常称为一个运行(run)或一个盘区(extent),它们可用来存储属性值,如文件数据。如果以后属性值又增加,那么NTFS将会再分配一个运行,以便用来存储额外的数据。值存储在运行中而不是在MFT文件记录中的属性称为非常驻属性(nonresidentattribute)。NTFS决定了一个属性是常驻还是非常驻的;而属性值的位置对访问它的进程而言是透明的。大文件或大目录的所有属性,就不可能都常驻在MFT中。如果一个当一个属性为非常驻时,如大文件的数据,它的头部包含了NTFS需要在磁盘上定位该属性值的有关信息。下图显示了一个存储在两个运行中的非常驻属性当一个属性为非常驻时,如大文件的数据,它的头部包含了NTFS非常驻属性被存储在簇流中。簇流是一组连续的扇区。簇流用它的起始簇号和流长度加以说明。如,一个属性分为3部分,第一部分存储在簇号为30,31,32,33,34的簇中,则该簇流起始簇号为30,流长度为5。第二部分存储在66,67号中,则第二个簇流起始于簇66,长度为2。第三部分存储在39~42号簇中,则第三个簇流起始于39号簇,流长度为4。如图:非常驻属性被存储在簇流中。簇流是一组连续的扇区。簇流用它的起NTFS文件系统解析课件NTFS中对文件或文件的某一部分进行位置描述时用两种地址:LCN(逻辑簇号)和VCN(虚拟簇号)。通过VCN到LCN的映射来描述非常驻属性流。LCN是文件系统的逻辑簇号,VCN则是一个文件内容的内部编号。因此,属性流中VCN的0~4号簇对应于LCN的30~34号簇,VCN的5,6号簇对应于LCN的66,67号簇,VCN的7~10号簇对应于LCN的39~42号簇。因此LCN与VCN的对应关系及簇流列表中真正的记录如图:NTFS中对文件或文件的某一部分进行位置描述时用两种地址:LNTFS文件系统解析课件常规属性值及其含义常规属性值及其含义标准信息属性0x10标准属性($STANDARD_INFOMATION)的类型值为0x10,它总是常驻属性。它包含一个文件或目录的基本元数据,如时间、所有权和安全信息等。所有文件和目录必须有这个属性。标准信息属性0x10标准属性($STANDARD_INFOMNTFS文件系统解析课件NTFS文件系统解析课件标准属性实例标准属性实例0x00~0x1F字节处32个字节分为4个8字节部分,分别为文件的建立时间、最后修改时间、MFT改变时间和最后访问时间。0x20~0x23处4个字节为标志,这个文件的标志为0x22,则为“存档、隐藏”0x00~0x1F字节处32个字节分为4个8字节部分,分别为文件名属性文件名属性($FILE_NAME)的类型值为0x30。任何文件和目录在它的MFT项中至少有一个文件名属性。该属性用于存储文件名,还包含文件大小、时间等信息。文件名属性文件名属性($FILE_NAME)的类型值为0x3NTFS文件系统解析课件数据属性即($DATA,0x80)。这个属性存放文件的内容。常驻数据属性,可以看到,常驻数据属性的内容直接跟着属性头之后,一起存储在MFT中。数据属性即($DATA,0x80)。这个属性存放文件的内容。NTFS文件系统解析课件非常驻数据属性非常驻数据属性一个簇流项合一分为以下三部分:1、第一个字节为第一部分,分为高4bit和低4bit,其中低4bit说明第二个部分的字节数。高4bit说明第三部分的字节数2、第二部分从第二个字节开始,长度为第一部分的低4bit描述的字节数,用以说明簇流的长度,即该簇流包含的簇数。3、第三部分跟着第二部分,长度为第一部分高4bit描述的字节数,用以说明簇流起始簇号。一个簇流项合一分为以下三部分:可以看到,簇流起始位置为561055(0x088F9F)号簇。簇流长度为12(0x0C)个簇可以看到,簇流起始位置为561055(0x088F9F其他属性0x60卷名属性($VOLUME_NAME)用来记录卷名。最长为127个unicode字符。0x90索引根属性($INDEX_ROOT)为实现B+树设置的根节点。0xA0索引分配属性($INDEX_ALLOCATION)用于存放索引项。索引分配属性总是非常驻属性,由一个个的索引记录组成。索引记录存储在MFT之外的簇空间中,每个索引记录有固定的大小,并包含一个分类树中的节点,大小通常为4096字节。其他属性0x60卷名属性($VOLUME_NAME)用来0xB0位图属性($BITMAP)用于描述索引或$MFT的分配情况。对于索引,它用1bit描述索引的一个VCN,对于$MFT,用1bit描述一个MFT项的分配情况。0xC0重解析点属性0x100安全属性0xB0位图属性($BITMAP)用于描述索引或$MFT的NTFS文件存储的定位1、在G盘根目录创建文件NTFS文件存储的定位1、在G盘根目录创建文件NTFS文件系统解析课件2、打开G盘2、打开G盘查看其DBR表查看其DBR表将文件名另存为16进制格式

在winhex中打开将文件名另存为16进制格式

在winhex中打开找到G盘的MFT找到G盘的MFT查找“测试文件”对应的16进制字串查找“测试文件”对应的16进制字串解析这一部分的结构可知:1、该文件占用了6个簇2、该文件起始位置LCN为0x624F=25167(?扇区)解析这一部分的结构可知:1、该文件占用了6个簇NTFS文件系统解析课件定位并复制文件数据定位并复制文件数据NTFS文件系统解析课件NTFS文件系统解析课件请思考,为什么两次操作后文件的实际大小不一致?请思考,为什么两次操作后文件的实际大小不一致?NTFS文件系统解析1、基本概念元文件:NTFS包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format程序放在卷上的。MFT属性:NTFS中所有与数据相关信息都称之为“属性”,甚至文件内容也被称为“数据属性”。NTFS与其他文件系统最大不同在于,大多数文件系统是对文件内容进行读写,而NTFS则是对包含文件内容的属性进行读写NTFS文件系统解析1、基本概念$MFT主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号X8=扇区数)$MFTMirrMFT的镜像$LOGFILE日志文件,这个是删不掉的。(元文件不能被删除,因为系统下不可访问)$volume见文件,记录号,创建时间$attrdef属性定义列表$bitmap位图文件$root根目录文件$badclus坏簇的列表,在格式化的时候,NTFS发现坏的簇会做标记。防止系统访问他,或者读取它。$boot引导文件$quota磁盘配额信息$secure安全文件$upcase大小写字母的转换$extendmetadatadirectry扩展元文件目录$extend\$reparse解析文件$extend\$usnjrnl加密日志文件

$extend\$quota配额管理文件

$extend\$objid对象ID文件$MFT主文件表(在DBR里30~37表示。数值NTFS的DBR

NTFS的引导扇区也位于文件系统的0号扇区,这是它与FAT文件系统在布局上的唯一相同之处。 数据结构如下图,当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。NTFS的DBR

NTFS的引导扇区也位于文件系统的0号在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NTloader程序)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则WindowsNT/2000就认为该卷未格式化。在NTFS卷上,BPB后面的数据字段构成扩展BPB。字节偏移(十六进制)字节数含义00-023跳转指令03-0A8OEM名(“明文NTFS”)0B-0C2每扇区字节数0D1每簇扇区数0E-0F2保留扇区数151介质描述符18-192每磁道扇区数(不检查此项)1A-1B2每柱面磁头数(不检查此项)1C-1F4隐含扇区数(不检查此项)24-274总是80008000(不检查此项)28-2F8文件系统扇区总和30-378MFT起始簇号38-3F8MFT备份的起始簇号401每MFT项大小41-433未使用441每个索引的簇数45-473未使用48-4F8序列号50-534校验和54-1FD426引导代码1FE-1FF2签名55AA标记字节偏移(十六进制)字节数含义00-023跳转指令03-0A以上引导扇区最为关键的字节数是0B-0C(每扇区字节数)0B-0C(每扇区字节数)0D(每簇扇区数)28-2F(文件系统扇区总和)30-37(MFT起始簇号)38-3F(MFT备份的起始簇号)40(每MFT项大小)44(每个索引的簇数),但数据发生不可预料的损坏时,可以根据以上信息重建分区表,定位数据区,恢复MFT,重建DBR,这些关键字节码的用处不言而喻。以上引导扇区最为关键的字节数是0B-0C(每扇区字节数)0$MFT主文件表(在DBR里30~37表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号X8=扇区数)跳转到上边的扇区数,就是文件记录。开头一定是File开头(46494C45)这就是$MFT的开始位置。NTFS文件系统解析课件30属性是6行半(就是文件名属性$MFT)因为$MFT也是以文件形式存储的,那么$MFT的第一个文件记录就是他的本身。实际上$MFT是个数据库。NTFS文件系统解析课件向后边翻上两个扇区,就到了$MFTMirrMFT的镜像$MFT我们在DBR里也能看到他在什么地方。30~37H的数值上体现)$MFTMirr我们在DBR里的38~3F的数值上能体现出来。镜像应该跟$MFT是一样的,但是他跟FAT32不一样,所以备份也不一定是完全一样的。镜像只是前4个元文件的文件记录的备份。1、

$MFT2、

$MFTMirr3、日志文件4、卷标四个元文件之后,就没有备份了。所以向下搜索是搜索不到的,只有4个NTFS文件系统解析课件浏览文件点击WINHEX浏览文件$mft和$mftmirr在系统下是看不到的,只能在这里看到。$mft本身是一个文件大小会有变化,这里有32K$mftmirr只有4K,占用8个扇区。浏览文件点击WINHEX浏览文件MFT属性属性的结构:每个MFT项大小为1024字节,分为两部分,MFT头和属性列表。属性有许多类型,每种属性都有自己的内部结构:属性头和属性内容。由于属性有常驻属性和非常驻属性之分,所以属性头也有差别,但不管是常驻还是非常驻,它们属性头的前16个字节是相同的结构。(如下图)MFT属性属性的结构:NTFS文件系统解析课件在这个MFT项中,0x00~0x37是MFT的头部。后面为属性列表。共有4个属性,前三个是常驻属性,最后一个为非常驻属性。深色部分则是每个属性的属性头。图中可看出,前三个属性(常驻)属性头一样大小,最后一个要大一些。在这个MFT项中,0x00~0x37是MFT的头部。后面为属NTFS将文件作为属性/属性值的集合来处理,这一点与其他文件系统不一样。文件数据就是未命名属性的值,其他文件属性包括文件名、文件拥有者、文件时间标记等。下图显示了一个用于小文件的MFT记录NTFS将文件作为属性/属性值的集合来处理,这一点与其他文件属性头属性头主要用于说明该属性的类型、大小及名字,同时包含压缩、加密等标志。常驻属性的属性头属性头属性头主要用于说明该属性的类型、大小及名字,同时包含压NTFS文件系统解析课件NTFS文件系统解析课件非常驻属性头结构非常驻属性头结构常驻属性等很小的属性与其属性头一起存放在MFT中,内容跟在属性头后面。非常驻属性则另外存储在MFT以外的簇空间中,并在MFT中的属性描述项中记录它的簇地址。常驻属性等很小的属性与其属性头一起存放在MFT中,内容跟在属大文件或大目录的所有属性,就不可能都常驻在MFT中。如果一个属性(如文件数据属性)太大而不能存放在只有1KB的MFT文件记录中,那么NTFS将从MFT之外分配区域。这些区域通常称为一个运行(run)或一个盘区(extent),它们可用来存储属性值,如文件数据。如果以后属性值又增加,那么NTFS将会再分配一个运行,以便用来存储额外的数据。值存储在运行中而不是在MFT文件记录中的属性称为非常驻属性(nonresidentattribute)。NTFS决定了一个属性是常驻还是非常驻的;而属性值的位置对访问它的进程而言是透明的。大文件或大目录的所有属性,就不可能都常驻在MFT中。如果一个当一个属性为非常驻时,如大文件的数据,它的头部包含了NTFS需要在磁盘上定位该属性值的有关信息。下图显示了一个存储在两个运行中的非常驻属性当一个属性为非常驻时,如大文件的数据,它的头部包含了NTFS非常驻属性被存储在簇流中。簇流是一组连续的扇区。簇流用它的起始簇号和流长度加以说明。如,一个属性分为3部分,第一部分存储在簇号为30,31,32,33,34的簇中,则该簇流起始簇号为30,流长度为5。第二部分存储在66,67号中,则第二个簇流起始于簇66,长度为2。第三部分存储在39~42号簇中,则第三个簇流起始于39号簇,流长度为4。如图:非常驻属性被存储在簇流中。簇流是一组连续的扇区。簇流用它的起NTFS文件系统解析课件NTFS中对文件或文件的某一部分进行位置描述时用两种地址:LCN(逻辑簇号)和VCN(虚拟簇号)。通过VCN到LCN的映射来描述非常驻属性流。LCN是文件系统的逻辑簇号,VCN则是一个文件内容的内部编号。因此,属性流中VCN的0~4号簇对应于LCN的30~34号簇,VCN的5,6号簇对应于LCN的66,67号簇,VCN的7~10号簇对应于LCN的39~42号簇。因此LCN与VCN的对应关系及簇流列表中真正的记录如图:NTFS中对文件或文件的某一部分进行位置描述时用两种地址:LNTFS文件系统解析课件常规属性值及其含义常规属性值及其含义标准信息属性0x10标准属性($STANDARD_INFOMATION)的类型值为0x10,它总是常驻属性。它包含一个文件或目录的基本元数据,如时间、所有权和安全信息等。所有文件和目录必须有这个属性。标准信息属性0x10标准属性($STANDARD_INFOMNTFS文件系统解析课件NTFS文件系统解析课件标准属性实例标准属性实例0x00~0x1F字节处32个字节分为4个8字节部分,分别为文件的建立时间、最后修改时间、MFT改变时间和最后访问时间。0x20~0x23处4个字节为标志,这个文件的标志为0x22,则为“存档、隐藏”0x00~0x1F字节处32个字节分为4个8字节部分,分别为文件名属性文件名属性($FILE_NAME)的类型值为0x30。任何文件和目录在它的MFT项中至少有一个文件名属性。该属性用于存储文件名,还包含文件大小、时间等信息。文件名属性文件名属性($FILE_NAME)的类型值为0x3NTFS文件系统解析课件数据属性即($DATA,0x80)。这个属性存放文件的内容。常驻数据属性,可以看到,常驻数据属性的内容直接跟着属性头之后,一起存储在MFT中。数据属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论