<!-- [toc] -->

第一步

打开数据解释器

开始分析 NTF第一个扇区 就是他的DBR扇区

DBR扇区分析 0号扇区

  • DBR分区标识 EB 52 90
  • 标识往后八个字节 是系统标识
  • 0B 0C 表示一个扇区的字节大小 512字节
  • 0D 一个字节 是簇大小 每簇要占 8 个扇区
  • 1C 1F 四个字节 表示整个磁盘隐藏扇区数 2048
  • 28 2F 64位 表示NTF整个分区大小 有多少扇区 分区大小 134,211,583

    • 这个值不包括DBR的备份扇区(如果需要包括 将值加一即可)
    • 数据解释器需要勾选显示64Bit的字节
  • 30 37 八个字节 表示MFT的起始簇号 786,432

    • 如果需要跳转簇,需将簇号*8跳转扇区大小即可
    • 786432*8=62914566291456号扇区
  • 38 3F八个字节 表示MFTMIRO(MFT备份)的起始簇号

    • 相对DBR跳16个扇区即可

MFT主文件记录表分析

  1. 跳转

    1. 十进制
    2. 从DBR当前位置
    3. 跳转6291456个扇区大小
  • MFT区标识 FILE 46 49 4C 45
  • 三部分:文件记录头属性结束标志FF FF FF FF
  • 每个文件 都有文件记录项,文件记录项占用2个扇区

    • 如果未占满 0填充 占满
    • 2个扇区如果不够扩展新的记录项
  • 2C 2F 文件记录头序号

    • 0 - 15个记录项 是系统占用的属性原文件
  • 文件记录头

    • 起始标志46 49 4C 45
    • 16 17代表文件状态 正在使用、删除····

      • 一共4种状态
      • 00 文件被删除
      • 01 文件正在使用
      • 02 文件夹被删除
      • 03 文件夹正在使用
    • 14 15表示文件记录头占用大小

      • 38 00 即为3行多八个字节
    • 2C 2F四个字节表示文件记录项的序号
    • 30 31更新序列号 校验 应与记录项最后两个字节一致
  • 属性头

    • 属性体的开头就是属性体的属性名

      • 10H属性:标准信息
      • 30H属性:文件名
      • 80H属性:数据
      • 90H属性:索引根
      • A0H属性:索引分配
  • 属性项的大小

    • 偏移: 从属性头向后偏移4个字节
    • 60H代表6行 、 16 * 6 行 个字节
  • 常驻、非常驻性质

    • 偏移: 从属性头向后偏移8个字节
    • 常驻属性:00H
    • 非常驻属性:01H
    • 区别:常驻属性就是文件内容是比较小的,能在两个扇区1KB中存储掉,就是常驻属性,非常驻属性,就是文件内容过大,1KB扇区记录不了,需要通过簇流 文件流来索引。
  • 属性体大小:常驻

    • 偏移:从属性头向后偏移16字节 、 一行
    • 48H代表4行多8个字节 、 16 * 8 + 8 个字节
  • 属性头大小:常驻

    • 偏移:从属性体大小向后偏移4字节
    • 18H代表1行多8个字节 、 16 * 1 + 8 个字节
  • 非常驻属性

    • 属性头、 大小偏移和常驻属性找法一致
    • 簇流开始位置

      • 偏移:从属性头向后偏移2行 28个字节
      • 40H表示,从属性头向后4行之后数据流的信息
    • 簇流数据:31 40 00 00 0C 00 00 00
    • 簇流第一个字节:压缩字节

      • 31H 地位1 高位3
      • 1表示压缩字节后面的一个字节 40H 簇流大小 占64个簇
      • 3表示跟在簇流大小后面的3个字节 表示簇流的起始簇号786,432号簇 = MFT起始簇号
    • 簇流可能出现多个簇流数据!

      • 如:31 01 FF FF 0B 31 01 26 00 F4
      • 31H代表簇流的大小和位置,往后还有一个31H代表另一个簇流的大小位置
      • 第二个簇的起始簇流-786,394

        • 负数是一个相对的概念
        • 相对于第一个簇的起始簇流位置(相对位置)
        • 将一簇流起始 减去 二簇流起始位置得到的37(绝对位置)即为2号簇的簇流起始位置
      • 需要将一号簇和二号簇的数据拼接起来
      • 注意:3个字节 需要打开数据解释器的24Bit显示

查找提取文件

  1. 直接搜索检索文件名
  • 查找文本

    • 搜索框填写需要搜索的文件名加后缀
    • 匹配大小写无所谓
    • 下面的选择框需要改成“Unicode”
    • 等待搜索结果
    • 找到扇区开头为46 49 4C 45开头的,即为正确的文件项
  • 文件名在30H属性中
  • 内容在80H属性中

    • 常驻:
    • 如果80属性是常驻属性,那么数据区的大小就是常驻属性向后偏移1个字节是属性头的大小 剩下的内容 即为数据的行数 完整内容,框选右键至新文件即可。
  • 非常驻:
  • 找到属性的datas run区域,开始分析:
  • 第一个字节21H
  • 1表示压缩字节后面的一个字节 01H 簇流大小 占1个簇
  • 2表示簇流大小后面2字节为簇流的起始簇号

    • 6393 * 8 = 51144扇区
  • 从DBR跳转扇区 到文件数据区
  • 提取文件时,应该提取文件的实际大小

    • 实际大小:
    • 在数据流信息的前面8个字节