格式化成NTF'S文件系统时,就在其中建立了一个生文件表MFT,其中只包含1 6个元文
件的文件记录,因此它所占用的空间井小大嘲因为MFT也被作为文件(即$MFTJI,来管理。所以
J苦的内容很容易根搬需要而扩大,例如说向其。中添加文件记录直
为了尽可能减少$MFT文件产生碎片的和r能性,系统预先为其预留'整个史仆系统大约
12。S%的空间曩只有在用户数据区的空间用爆时,才会临时让fl3 MFT区的部分空间存储用户
数据,但一旦用户数据区有了足够的空间,就会立即收回原来让出的MFT空fHi日
4.4.1 基本概述
毛文件表MFT南一个个的M盯项组成,每个MFT项实际上就是一个文件记录,其中用
器种属牲记蒙着该文件或目录的各种信息口每个M订项的太小在引导豳区中进行说明,不过
Microso赶的所有版本都使用1 024字节的大小心前部为一个包含几十个字节的具有固定的大
小和结构的MFT头,剩采的字节为属性列表,用于存放各种属性吐
我们可以把MFT项想象成一+辆货车审遮辆赞车照有位于车头的驾驶室是固定划分好座位
的(有固定结构],而后面的货厢则没有做固定的划分.你可以根据需要摆放古有特定物品的
小箱子(属性),每种小箱子根据它的用透有自己特定的结构帚M胛项的基率特性如下:
》 M兀’项的第一个区域是箍名t所有的M盯项都有相同的签名(ASCII弼的“FILE'即)。
如粜在项巾发现错误量可能将其馥写成“8AAD玎的字样Ⅱ
》 MFT项还有一个标,蓉城期以说明该项照一个文件项迷是I司录项,以及它的分配
O
如果一个文件的属性较多,使用一个MFT项无法容纳下全部的属性,呵以使栩多个
MFT项q在这种情况下t第一个项被称为基本空水卜记录或基本MFT项t在后面的每
个项中都有一个固定的区域记录着基本MFT项的地址编号睁
剥’于Win"dows 2000和Windows X_P下建立的NTFS文件系统t藏MTF项略有差别.
这种差别烈是存在于MFT头部一
. Window's 2000下建立的NTFS.其MFT头山偏穆0xOOOx2F字节豁分,属性
列袤起始于偏移Ox30字节处嚣
●Windows XP下建立的NTF'S,冀MFT头稍微太一些,占用偏移Ox0队Ox37字
节处t璃性别裘起始于偏移Ox38字节处q
4,4 2 Windows 2000的 MFT项
1.数据结构
Windows 2000下创建的NTFS文件系统的M兀’项结构船表4。2所函{甜
表4.2 Windows 2000下的MFI-项数据结构
涵常为Ox2A口
隰示:在采垫资料中,把连十植置赫琦鹦*j正薮翅攀的镰蒋.
臣4
(3)Ox06r._,Ox07:2个字’51 t更新序列弩的数组个数量
百I攫示:菜些蚤料中.裤这牛教值稚为栩修正擞鲤敷量啊’通常为_Ox03越
(辱)Ox08-OxOF:8个字’譬,日志序列哥(LSN)蠹
(5)OxlO--Oxll:2个字节。序歹|J号蕾每当浚MFT项被分配或取消分配时,这个降列号
舒5会加1口
(6】Ox12~Ox13-2个字节t,硬链接数凸指有多少文件名指向该MFT项巨
【7)Ox14 -Ox15:2个字节,第一个属性的偏移地址q第一个属性起始于这个能移字节值。
其他的’属性麒茬第一个属性后衙,最后一个属性结束后,在其后砸写入OxF FFFFF盯。表示后
删已坷《再肯腾性口
(8)Ox16^一Ox17:2个字节,标忠,表示立件或目录的状态。
Ox01表示史件擎文件被删除则将此标志设置为Ox00睁
Ox03表示目录.1l录被删除则将此标志设置为Ox02呻
(9】OxlS- Oxl.B:4个‘#节。MFT项的逻辑长度,也就是该MFT项的内容使用的实际
长度略
(10)OxlC~OxlF:4个字节,MFT项的物理长度。也就是为母个MFT项分配的长度,通
常为1 024字节,剧2个扁区蠕
(11)Ox20~Ox27:8个字节,基本文件记录索引号。
如果馕MF项是摹本文件记录,则此处的值为0。
如果此处德不为。.刚此值是所属的基奉文件记采中的索弓l号唯
(1Z] Ox2:8 --Ox29:Z个字节,下一属性ID.*如果矍为文件增加属性时,就使用这个ID号.
[13) Ox2A~OxZF:6“个字节,更新序列号数组。,追精此缝的值分为二组.每组两个字二坩f
第一组胸两个字公符的值与偏移Oxl FE-∞ xlFF投偏穆Ox3FE-oFF处的修正值相同瞳
2。实例分析
阁40拯水r Wind.ows 2000下创建的孵鞲文件系统的一个,帅阿项,为了节省篇幅。
(6)Ox12-Ox13:2个字节牛硬链接数曾指宵多少文件名指向谈MFT项日
(7)Qx14-Ox15;2个字节,第一个属性艄偏移地址匹第一个属性起始于这个偏秽字节值,
其他的属性跟在第。个属性后而。壤后一个属性结粜后t在其后面写入OxFFFFFFFF,表示后
面止币雨肯属性癌
(8JIOxl缸Ox:1 7莩2个字节,标忠,表示史件或目录的状态皿
h
≯ Ox01表乖文件,,筻件被删除则将此标志设置为Ox00碍
Ox'03藿示fl采帝引录被删脒则将此标志醴置。街0x02岱
(9)Ox18--OxlB:4个8茅节.M盯项的逻辑长度,【i}】蓐MFT项的内容使用的实际长度D
(10) OxlC-OxlF:4个字节,MFT项的物艘长度j也毓避为每个MFT项分配的长度量通
常为1024字节,即2个扇区。
(11) Ox20-Ox27:8个字节-基本立件记录索弓l号乃
如果该M阿项是基本空中}畦录,则此处的值为0。
》 如果此处值4‘为o,则此值为它的基本文件ri己采中的索弓f号冉
(12)Ox28P Ox29:2个宁i符,下一属性ID血如果娶为文件增加属性对,就使硐这个ID号e
(13) Ox2C-OxZF:4个字钒如果是在W;indows XP丁建擐的NTFS文。件系统,会将所有
的MFT项由0开始依次进行编号t奉M盯项的编,母就避录在这个位置B这个位置的编号值
-tRAI口数据恢复的分析过程中对于别断块大小,舷摩以艘同异步会有极大的帮助已
(14) Ox30--Ox37:更新卑列%数组。有的蓝.料中将这个位襞称为纠修正值数组”晶
提示;通常.更新序列号敏蛆她的值分为三龃骨每蛆两十字节,第一扭曲'两个字节的值与偏
0 5
移OxlFE一OxIFF噩偏秽帆3FE - Ox3FF蛙的惜正值相同。
2.实例分析
图4.5是一个Winclows XP下的M丌项的第一个扁区。第,:个扃l幂垒糊f为0,省略。
县体分析如下响
(1JOx00 -Ox03:4十字|l『譬,M阿项的签耘值“46'494C4S"f明文为“FILE肋吐
I[2)Ox04-OxOS:2个宁节,型新r乒列蛩:的偏穆,,48(Ox30)鉴
(3)Ox06~Ox07:2个字督宁,更新序列号的数熊个数量3_(帆0站曲
(4)Ox08~OxOF:8个字:符. H:盘J葶剿号(L嗣崎)。1847663:06 (.Ox018034F62),凸
(S】OxlO- -Oxll:2个字’竹。序争吐号。4{Ox04)譬每当该MFT项被靠配或取消分配时,这
个序列母都’会加1硅
(6)oxl:2-Ox'13:2个字节,馊链接数,1(Ox01】,髓明壤吏件只有一十文件名e
【158】
文件属性和附加值 www.jdcok.com/anli/5/571.html