NTFS属性分析_第1页
NTFS属性分析_第2页
NTFS属性分析_第3页
NTFS属性分析_第4页
NTFS属性分析_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、NTFS属性分析MFT文件记录结构 主文件表的文件记录由记录头和属性列表组成,大小为1KB或一个簇大小。 属性列表长度可变,以“FF FF FF FF”结束。 对于1KB长度的MFT记录,属性列表的起始偏移为0 x30 文件通过MFT来确定存储位置。MFT是一个对应的数据库,由一系列文件记录组成卷中每个文件都有一个文件记录(大型文件可能有多个记录与之对应),其中第一个文件记录称为基本文件记录 MFT文件的MFT分析 MFT头 10H类型属性(标准属性信息) 30H类型属性(文件名属性) 80H类型属性(数据属性) B0H类型属性(位图属性) MFT结束标志记录头的结构每次记录修改都导致日志文件

2、序列号($LogFile Sequence Number)变化序列号(sn)用于记录主文件表记录被重复使用的次数硬链接数记录硬链接数目,只出现在基文件记录中文件记录的实际长度是文件记录在磁盘上实际占用的字节空间基文件记录中的文件索引号,对于基本文件记录,其值为0,如果不为0,则是一个主文件表的文件索引号,指向所属的基本文件记录中的文件记录号,在基本文件记录中包含有扩展文件记录信息,储存在“属性列表”属性中10属性相对本属性起始地址,从偏移00H开始的四个字节表示类型,即属性名,这里是10H,在$AttrDef中,10H表示标准信息,所以,这里就是标准信息,前面已经介绍,所有的属性都有头部和属性

3、值组成,标准属性也一样,有一个标准的属性头,其头部结构如表从偏移00H开始的四个字节表示类型,即属性名,这里是10H,在SAttrDef中,10H表示标准信息;从偏移04H开始的4个字节表示本属性长度,包括头部,这里是60H,即本属性长度为96个字节,从属性开始的38H算起,38H+60H=98H,所以下一个属性的起始偏移为98H。从偏移08H开始的一个字节是非常驻标志,0表示本属性值常驻,1表示非常驻:从偏移09H开始的1字节表示属性名长度,为0表示是$AttrDef中定义的标准属性;从偏移0AH开始的两个字节表示名称相对于本属性起始地址的偏移值,由于名称长度为0,所以这里的值没有意义;从偏

4、移0CH开始的两个字节是标志字节;从偏移0EH开始的两个字节是标识字;从偏移10H开始的四个字节表示常驻属性值的长度,此处为48H,表示属性部分占用48H,属性头为18H;属性值为48H,共计18H+48H=60H,是属性长度;从偏移14H开始的两个字节表示相对属性起始地址的属性的起始偏移地址:从偏移16H开始的1个字节表示索引标志;从偏17H开始的字节为填充字节;从偏移18H开始的L(L为属性长度)个字节为属性字节,所使用的偏移是相对于属性内容起始偏移的偏移,即相对于属性头起始偏移0 x18处,相对于整个文件记录偏移0 x48处。标准属性的结构文件属性含义时间日期域的意义 在本属性内从偏移1

5、8H开始,至偏移37H止,共20H个字节,即32个字节,分为4组,每组8个字节,分别表示创建时间、修改时间、最后的一次MFT更新时间和最后一次的访问时间,每8个字节按从低到高的顺序存储,即高位字节在后,如创建时间“E0 E3 E1 A0 66 E9 C3 0I”,应该是01C3E966A0E1E3E0H; 换算成I0进制所得到的结果为从1601-1-1开始的110000000的秒数,即千万分之一的秒数; 如01 C3 E9 66 A0 E1 E3 E0H =127201841491600352D,此数乘以1/10000000所得结果即为从1601-1-1开始秒数,这里是12720184149.

6、1600352秒。30属性(文件名) 标准属性之后的是文件名属性,文件名属性也一定是常驻属性,用于存储文件名。如$AttrDef中定义,其大小从68字节到578字节不等,与最大文件名为255个Unicode字符 文件名属性也由一个标准的属性头和可变长度的属性内容组成文件名属性的属性头结构文件名属性内容结构文件标志含义命名空间将一个POSIX或Win32文件名转换成一个DOS友好的文件名,遵循以下步骤: 删除所有Unicode字符;删除所有的“.”,保留最后但又不是第一个字符的“.”;将所有字母转换成大写字母;删除禁止使用的字符:截断“.”之前的所有字符,使之只保留6个字符,然后加上“1”;截断

7、“.”后3个字符以后的所有字符:如果这样得到的文件名已经存在,将“1”值递增,这也意味着,即使产生的DOS文件名是惟一的,也不能断定产生这个DOS名的Win32文件名是惟一的。根据图可以知道,其文件名为Win32&DOS类型,长为4个字符,从偏移0 x42开 始,所以文件名为“24004D0046005400,因为是Unicode字符,所以占用了8个字节, 也就是“$MFT”。 数据流80属性 数据流的属性头分析 对照图表可以知道,文件的起始VCN为0,结束VCN为0X1FF18177,所以文件$MFT共占用8178个簇,由于簇大小为8个扇区,所以,文件$MFT分配大小为8178x8x

8、512=334970880 x1FF2000,与0 x28处的值刘照可以看到,两个值相等。属性值实际大小为0X1FF1C00=33496064字节,3496064/220=31.9443359375MB,也就是319MB具体存储位置分析那么这些属怕姬到底存储在什么地方呢?这就是数据运行了从属性头可知,数据运行的起始偏移为0 x40,从这里开始的8个字节为“32 F2 1F 00 00 0C 00 00”。这些运行含义如下:“32 F2 1F 00 00 0C”中,“3”表示后面5个字节中后面的3个字节是运行的起始簇号,即运行的起始簇号为“0C0000”,颠倒过来是因为高位字节在后,“2”表示前

9、面的2个字节表示运行的大小,即该运行的大小为“1F F2”。所以,文件$MFT的数据实际上存储在起始簇号为“0C 00 00”即786432簇的地方,共“1F F2”即8178个簇。用VCN表示就是:起始的VCN为0,结束的VCN为8177,共8178个簇。用LCN表示就是起始LCN=786432,结束LCN=786432+8177=794609,因为簇因子(卷因子)是8,所以,实际的起始扇区号786432 x 86291456,$MFT的簇是连续的,所以只有一个运行。有多个运行的情况分析 图所示的$Secure文件的数据运行,内容为“21 48 06 24 31 01 F3 AA 02 31

10、 01 0D 0A 05 31 01 F3 38 02 31 01 C3 4B 05 00 A2 6B 81 D0 50 3D El” 按原则依次划分为21:48 06 24;31:0I F3 AA 02;31:01 0D 0A 05;31:01 F3 38 02;31:01 C3 4B 05,由于到此处下一个运行为00”打头,所以就结束了,共5个运行。分析VCN从0到75,只有76个簇,所以文件本身并不大,但比较分散,不是连续存储首先,第一个运行为2l 48 06 24,所以,起始的LCN=2406H=9222,长度为48H=72个簇,即结束LCN=9222+71=9293;第二个运行是31

11、:01 F3 AA 02,同理,后3位“02AAF3表示的是下一段LCN的起始值,但这里不足直接用“02 AA F3”来表示,而是用与前一个运行的相对值来表示的,所以,这一个LCN的起始是02 AA F3H + 2406H =2CEF9H=184057,长度为1个簇;第三个运行为31:01 0D 0A 05,所以,起始LCN=2CEF9H+050A0DH=7D906H=514310,长度仍然只有一个簇;下一个运行31:0I F3 38 02表示起始LCN=7D906H+0238F3H=0A11F9H=659961;再下一个运行31:01 C3 4B 05表示起始LCN=0A11F9H+054BC3H0F5DBCH=1007036。位图NTFS卷中文件的删除 在NTFS卷中删除一个文件时,系统至少在三个地方做了改变: 一是该文

温馨提示

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

评论

0/150

提交评论