NTFS文件系统解析课件.ppt

上传人(卖家):晟晟文业 文档编号:4400643 上传时间:2022-12-06 格式:PPT 页数:53 大小:2.55MB
下载 相关 举报
NTFS文件系统解析课件.ppt_第1页
第1页 / 共53页
NTFS文件系统解析课件.ppt_第2页
第2页 / 共53页
NTFS文件系统解析课件.ppt_第3页
第3页 / 共53页
NTFS文件系统解析课件.ppt_第4页
第4页 / 共53页
NTFS文件系统解析课件.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、NTFS文件系统解析 1、基本概念 元文件:NTFS包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format程序放在卷上的。MFT 属性:NTFS中所有与数据相关信息都称之为“属性”,甚至文件内容也被称为“数据属性”。NTFS与其他文件系统最大不同在于,大多数文件系统是对文件内容进行读写,而NTFS则是对包含文件内容的属性进行读写$MFT 主文件表(在DBR里3037表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号X8=扇区数)$MFTMirr MFT的镜像$LOGFILE 日志文件,这个是删不掉的。(元文件不能

2、被删除,因为系统下不可访问)$volume 见文件,记录号,创建时间$attrdef 属性定义列表$bitmap 位图文件$root 根目录文件$badclus 坏簇的列表,在格式化的时候,NTFS发现坏的簇会做标记。防止系统访问他,或者读取它。$boot 引导文件$quota 磁盘配额信息$secure 安全文件$upcase 大小写字母的转换$extend metadata directry 扩展元文件目录$extend$reparse 解析文件$extend$usnjrnl 加密日志文件$extend$quota 配额管理文件$extend$objid 对象ID文件 NTFS的的DBR

3、NTFS的引导扇区也位于文件系统的0号扇区,这是它与FAT文件系统在布局 上的唯一相同之处。数据结构如下图,当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NT loader程序)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则Windows NT/2000就认为该卷未格式化。字节偏移(十六进制)字节数含义00-023跳

4、转指令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标记 以上引导扇区最为关键的字节数是0B-0C(每扇区字节数)0B

5、-0C(每扇区字节数)0D(每簇扇区数)28-2F(文件系统扇区总和)30-37(MFT起始簇号)38-3F(MFT备份的起始簇号)40(每MFT项大小)44(每个索引的簇数),但数据发生不可预料的损坏时,可以根据以上信息重建分区表,定位数据区,恢复MFT,重建DBR,这些关键字节码的用处不言而喻。$MFT 主文件表(在主文件表(在DBR里里3037表示。数值不是扇区号,而是簇号。在看簇大小表示。数值不是扇区号,而是簇号。在看簇大小0D偏移,就是说:簇号偏移,就是说:簇号X8=扇区数)扇区数)跳转到上边的扇区数,就是文件记录。开头一定是跳转到上边的扇区数,就是文件记录。开头一定是File开头(

6、开头(46 49 4C 45)这就是这就是$MFT的开始位置的开始位置。30属性是6行半(就是文件名属性$MFT)因为$MFT也是以文件形式存储的,那么$MFT的第一个文件记录就是他的本身。实际上$MFT是个数据库。向后边翻上两个扇区,就到了$MFTMirr MFT的镜像$MFT我们在DBR里也能看到他在什么地方。3037H的数值上体现)$MFTMirr我们在DBR里的383F 的数值上能体现出来。镜像应该跟$MFT是一样的,但是他跟FAT32不一样,所以备份也不一定是完全一样的。镜像只是前4个元文件的文件记录的备份。1、$MFT2、$MFTMirr3、日志文件4、卷标四个元文件之后,就没有备

7、份了。所以向下搜索是搜索不到的,只有4个浏览文件 点击WINHEX浏览文件$mft和$mftmirr在系统下是看不到的,只能在这里看到。$mft本身是一个文件大小会有变化,这里有32K$mftmirr只有4K,占用8个扇区。MFT属性 属性的结构:每个MFT项大小为1024字节,分为两部分,MFT头和属性列表。属性有许多类型,每种属性都有自己的内部结构:属性头和属性内容。由于属性有常驻属性和非常驻属性之分,所以属性头也有差别,但不管是常驻还是非常驻,它们属性头的前16个字节是相同的结构。(如下图)在这个MFT项中,0 x000 x37是MFT的头部。后面为属性列表。共有4个属性,前三个是常驻属

8、性,最后一个为非常驻属性。深色部分则是每个属性的属性头。图中可看出,前三个属性(常驻)属性头一样大小,最后一个要大一些。NTFS将文件作为属性/属性值的集合来处理,这一点与其他文件系统不一样。文件数据就是未命名属性的值,其他文件属性包括文件名、文件拥有者、文件时间标记等。下图显示了一个用于小文件的MFT记录属性头 属性头主要用于说明该属性的类型、大小及名字,同时包含压缩、加密等标志。常驻属性的属性头非常驻属性头结构 常驻属性等很小的属性与其属性头一起存放在MFT中,内容跟在属性头后面。非常驻属性则另外存储在MFT以外的簇空间中,并在MFT中的属性描述项中记录它的簇地址。大文件或大目录的所有属性

9、,就不可能都常驻在MFT中。如果一个属性(如文件数据属性)太大而不能存放在只有1KB的MFT文件记录中,那么NTFS将从MFT之外分配区域。这些区域通常称为一个运行(run)或一个盘区(extent),它们可用来存储属性值,如文件数据。如果以后属性值又增加,那么NTFS将会再分配一个运行,以便用来存储额外的数据。值存储在运行中而不是在MFT文件记录中的属性称为非常驻属性(nonresident attribute)。NTFS决定了一个属性是常驻还是非常驻的;而属性值的位置对访问它的进程而言是透明的。当一个属性为非常驻时,如大文件的数据,它的头部包含了NTFS需要在磁盘上定位该属性值的有关信息。

10、下图显示了一个存储在两个运行中的非常驻属性 非常驻属性被存储在簇流中。簇流是一组连续的扇区。簇流用它的起始簇号和流长度加以说明。如,一个属性分为3部分,第一部分存储在簇号为30,31,32,33,34的簇中,则该簇流起始簇号为30,流长度为5。第二部分存储在66,67号中,则第二个簇流起始于簇66,长度为2。第三部分存储在3942号簇中,则第三个簇流起始于39号簇,流长度为4。如图:NTFS中对文件或文件的某一部分进行位置描述时用两种地址:LCN(逻辑簇号)和VCN(虚拟簇号)。通过VCN到LCN的映射来描述非常驻属性流。LCN是文件系统的逻辑簇号,VCN则是一个文件内容的内部编号。因此,属性

11、流中VCN的04号簇对应于LCN的3034号簇,VCN的5,6号簇对应于LCN的66,67号簇,VCN的710号簇对应于LCN的3942号簇。因此LCN与VCN的对应关系及簇流列表中真正的记录如图:常规属性值及其含义标准信息属性0 x10 标准属性($STANDARD_INFOMATION)的类型值为0 x10,它总是常驻属性。它包含一个文件或目录的基本元数据,如时间、所有权和安全信息等。所有文件和目录必须有这个属性。标准属性实例 0 x000 x1F字节处32个字节分为4个8字节部分,分别为文件的建立时间、最后修改时间、MFT改变时间和最后访问时间。0 x200 x23处4个字节为标志,这个

12、文件的标志为0 x22,则为“存档、隐藏”文件名属性 文件名属性($FILE_NAME)的类型值为0 x30。任何文件和目录在它的MFT项中至少有一个文件名属性。该属性用于存储文件名,还包含文件大小、时间等信息。数据属性 即($DATA,0 x80)。这个属性存放文件的内容。常驻数据属性,可以看到,常驻数据属性的内容直接跟着属性头之后,一起存储在MFT中。非常驻数据属性 一个簇流项合一分为以下三部分:1、第一个字节为第一部分,分为高4bit和低4bit,其中低4bit说明第二个部分的字节数。高4bit说明第三部分的字节数 2、第二部分从第二个字节开始,长度为第一部分的低4bit描述的字节数,用

13、以说明簇流的长度,即该簇流包含的簇数。3、第三部分跟着第二部分,长度为第一部分高4bit描述的字节数,用以说明簇流起始簇号。可以看到,簇流起始位置为561055(0 x 08 8F 9F)号簇。簇流长度为12(0 x0C)个簇其他属性 0 x60 卷名属性($VOLUME_NAME)用来记录卷名。最长为127个unicode字符。0 x90 索引根属性($INDEX_ROOT)为实现B+树设置的根节点。0 xA0 索引分配属性($INDEX_ALLOCATION)用于存放索引项。索引分配属性总是非常驻属性,由一个个的索引记录组成。索引记录存储在MFT之外的簇空间中,每个索引记录有固定的大小,并

14、包含一个分类树中的节点,大小通常为4096字节。0 xB0 位图属性($BITMAP)用于描述索引或$MFT的分配情况。对于索引,它用1bit描述索引的一个VCN,对于$MFT,用1bit描述一个MFT项的分配情况。0 xC0 重解析点属性 0 x100 安全属性NTFS文件存储的定位 1、在G盘根目录创建文件2、打开G盘查看其DBR表将文件名另存为16进制格式在winhex中打开找到G盘的MFT查找“测试文件”对应的16进制字串解析这一部分的结构可知:1、该文件占用了6个簇 2、该文件起始位置 LCN为0 x 62 4F=25167(?扇区)定位并复制文件数据 请思考,为什么两次操作后文件的实际大小不一致?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(NTFS文件系统解析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|