要进入一个密室,先要找到它的钥匙才能打开房门。
要访问一种文件系统,也需要一把钥匙,而引导记录就是文件系统的钥匙。让我们从分析NTFS的引导记录来开始壮丽的NTFS文件系统探密吧。
NTFS引导记录占用8个扇区,它由3个部位组成
一。 兼容FAT/HPFS的标准分区记录
二。 NTFS分区记录
三。 NTFS引导代码
第一部分:标准分区头
偏移地址 | 长度 | 初始值(16进制) | 说明 |
0 | 3 | EB 52 90 | 跳转到引导代码 |
3 | 8 | "NTFS " | NTFS分区标志 |
11 | 2 | 00 20 | 每扇区字节数 |
13 | 1 | ? | 每簇扇区数(可能是1/2/4/8) |
14 | 2 | ? | ? |
16 | 4 | ? | ? |
20 | 1 | ? | ? |
21 | 1 | F8 | 存储介质(F8表示硬盘) |
22 | 2 | ? | ? |
24 | 2 | 3F 00 | 每道扇区数 |
26 | 2 | FF 00 | 磁头数 |
28 | 4 | 3F | 隐藏扇区数 |
32 | 4 | ? | ? |
36 | 1 | 80 | 引导时的磁盘号(Int 13H的DL参数) |
第二部分:NTFS引导数据头
偏移地址 | 长度 | 初始值(16进制) | 说明 |
37 | 3 | ? ? ? | ? |
40 | 8 | ? ? ? ? ? ? ? ? | 分区扇区数 |
48 | 8 | ? ? ? ? ? ? ? ? | $MFT文件的起始簇号(此文件是NTFS分区的核心) |
56 | 8 | ? ? ? ? ? ? ? ? | $MFTMirr文件的起始簇号 |
64 | 4 | ? ? ? ? | 文件记录尺寸(注1) |
注1:如果此值大于0,则表示占用的簇数,如果小于0,2^(0-该值)表示每个文件记录的字节尺寸
(待续)