NTFS文件系统下文件提取

一、寻找根目录 1

1.1、找到MFT主文件记录表 1

(1)首先找到NTFS文件系统的DBR: 1

(2)此时我们来到了MFT主文件表所在区域: 3

1.2、找根目录 3

二、提取数据(重点) 5

2.1、提取单个根目录下的文件 5

2.1.1、小文件提取 5

(1)首先我们看看我有什么文件在这个磁盘中: 5

(2)从根目录获取所需文件所在扇区 6

(3)找到文件所在扇区并提取 6

2.1.2、大文件提取 8

2.2、提取文件夹下的文件 10

        学会了NTFS文件系统的结构以及知道如何从DBR获取关键字节信息之后我们就得学会如何从这个文件系统里提取我们所需要的文件了,这样我们才能叫做入门了数据恢复,下面就让我们一起看一下如何,

        大致思路:我们根据分析DBR得出MFT主文件表所在位置,从而到MFT表的第五个表推算出根目录所在位置,再由根目录找到对应文件或文件夹所在位置从而提取所需要的数据。

        温馨提示:建议各位在做数据恢复的过程中时刻打开着记事本之类可以记录的工具以及计算器,因为我们的计算和要记录的位置非常之多没有工具计算和记录是非常容易乱的

一、寻找根目录

1.1、找到MFT主文件记录表

(1)首先找到NTFS文件系统的DBR:

(图一)DBR扇区

        我们首先在DBR中找到以上三个关键信息就可以了:

        MFT起始扇区:MFT的起始蔟号 x 每蔟扇区数= 所在扇区

        由此得我们这里的MFT所在位置为:786432 * 8 = 6291456

        所以:

        每蔟扇区数=8

        MFT起始扇区=6291456(现对于DBR)

我们在这里用‘转到偏移量’工具向后跳转6291456个扇区

(图二)转到偏移量6291456

 

        记得是以十进制进行跳转,很多朋友都是错在这里卡半天都没有发现自己是什么问题,十进制与十六进制之间切换也非常简单,就是点击图一最左边的蓝色数字随便一处就可以了。

(2)此时我们来到了MFT主文件表所在区域:

(图三)第0号MFT组文件表

同时我们由图三知道MFT主文件表的头固定标志字节为:46 49 4C

表示第几号表的字节是:0x2C(图三中红色框)

1.2、找根目录

        由上面的介绍我们找到了MFT表,那么我们要找数据的话下一步就该找根目录了

        我们要知道‘第五号MFT表’是记录根目录所在扇区的,所以我们还需要往下找到第五好MFT表,而一个MFT表占两个扇区,也就是说我们需要往后跳转10个扇区即可:

        记住我们做扇区跳转时都要注意尽量是以10进制跳转,这样不易于出错

一个完整的第五号MFT表:

  (图四)第五号MFT表第一个扇区

 (图五)第五号MFT表第二个扇区

        在这里我们关注的是第二个扇区的 ‘A0属性’,A0属性这一块有80个字节,但我们关心的就一个字节,也就是我(图五)蓝色圈圈出来的那个字节,那个就是我们的根目录的起始蔟号,故而有根目录起始扇区=根目录的起始蔟号 * 每蔟扇区数

        得:36*8=288 (一般均为288)

        此时我们就得到了根目录的起始扇区(当然,一样是现对于DBR)

此时我们跳转到根目录看看:

 (图六)根目录扇区示例

信息点:根目录头固定标志字节:494E4458

二、提取数据(重点)

        到这里就来到我们最重要的环节了,在这里我将以两个单独的文件,以及一个文件夹介绍完数据提取的放法

2.1、提取单个根目录下的文件

2.1.1、小文件提取

(1)首先我们看看我有什么文件在这个磁盘中:

 (图七)分区下文件展示

        我将我建的虚拟磁盘挂载了,并且只有一个NTFS分区在d盘,下面我将分别介绍如何提取文件

(2)从根目录获取所需文件所在扇区

        找数据要有耐心,在根目录一直往下找,直到找到对应的文件名就可以了,初学者当然是建议少放一些文件会好找一些,从业者一般就比较多文件,这就需要借助一些工具了

 (图八)根目录记录的文件信息

        大概在往后翻了两三个扇区之后就看见相关信息了,大家对比一下图七和图八,大家发现没有上面的三个文件(文件夹算作一个文件)已经被我们找到了,那么接下来就是要找到这个文件并提取就可以了

(3)找到文件所在扇区并提取

我们先用那个txt文件小试牛刀:

 (图九)zws.txt根目录记录信息

        我们看图九,找到需要的文件在其文件名前面第五个(第一种:起始这里不一定是五个01有四个也有三个,大家记得话,就记那个记录信息也就是我们需要的01是远离一群01的就行,而且是处在一段8字节的7号字节处的01,第二种在下面展示)01前第六个字节n就是记录该文件的MFT表数(也就是图中的蓝色框27),那么我们就只需要到MFT表起始扇区往后跳转 n*2 因为一个MFT表是占两个扇区,那么下面我们跳转一下:

 (图十)gif演示找文件过程【文档的话建议保存本地再看动图】

 (图十一)zws.txt对应MFT表信息

        我们根据图十跳转到zws.txt对应MFT第39号表信息就可以看见如图十一所示信息

        图十一:在图十一中我们在文件名后面的字节中找到‘80’属性,在80属性(包括)后面的第9个字节如果是‘00’就如图十一,说明在这一个MFT表中就可以记录完整这一个1文件的内容,一般适用于比较小的txt文件,不需要再跳转就可以完整提取这个文件的内容,但如果是‘01’,就意味着这个文件比较大,在这里记录不完,这里就是记录它的文件名、大小、起始扇区等等,就比如图片这些,下面就提取一个图片示例一下:

2.1.2、大文件提取

        我们回到上面(1)(2)的图七和图八,我们来提取当前分区下的  csdn咨询.jpg  回到第(3)步:

 (图十二)csdn咨询.jpg 在根目录的信息

由图十二:我们可以知道该图片的信息被记录在了第44(2C)号MFT表

        同时总结一下关于01属性的技巧:在上面两个示例中01距离文件名的位置不一样,01的数量不一样,当然大家在后面可能还会遇到更多的其他情况,

        在这里我们发现文件名在后8字节开始记录的,01属性也在后8字节,如图十二

        而文件名在前8字节开始记录的,01属性也在前8字节,如图九

        总之就如我在前面第(3)步所说的,这个记录文件MFT表的01总是远离底下那‘一群’01的

        话不多说,我们知道了该图片的信息被记录在了第44号MFT表,那我们接着参照前面所演示的步骤跳转到第44号MFT表,如下:

 (图十三)csdn咨询.jpg对应的44号MFT表信息

        我们一样照旧找文件名后面的80属性,一样找第九个字节,发现是01(红色框),说明这个文件比较大,在这一个MFT表里面记录不完它的全部信息,下面会记录着它所在的蔟,以及它的大小

        我们从中知道文件尾前8个字节就记录着这其中的重要信息:

        黄色框的一个字节:21  :代表着后一个字节是记录文件大小的(绿色框),在这个字节后面的两个字节就是文件的起始蔟号(一样是相对于DBR)(蓝色框)

        那么如何提取这个文件:

        我们看它所在蔟号:78 18(蓝色框) 也就是 6264号蔟 也就是6264*8(每蔟扇区数)=50,112扇区

        其大小:12(绿色,蔟)也就是占18个蔟,即18*8=144个扇区,这里NTFS都是以蔟为基本单位记录文件的,所以这里虽然记录说占了18个蔟其实是是不满的,只是17个蔟多一点,但这里不可能说记录0.几个蔟,所以都是记录稍微大的,实例演示:

(图十四)gif演示提取文件过程【文档的话建议保存本地再看动图】

        此时返回我们保存的文件位置就可以看见刚刚提取的jpg图片了

        此时呢我们大小文件提取的两种方式都已经一一介绍完了,接下来就是提取文件夹下的文件了

2.2、提取文件夹下的文件

        步骤基本类似于上面所述的单个文件提取,只不过是多进行一次跳转摆了

首先我们看到根目录下的关于zws这个文件夹的描述:

 (图十五)zws文件夹在根目录的描述

        看了2.1的朋友到这里就不需要我过多描述了吧,这个zws文件夹信息就记录在43(2B)号MFT表中,下面我们跳转到对应的扇区看一下情况:

 (图十六)记录zws文件夹的第43号MFT表

 (图十七)zws文件夹下文件情况

        由图十六、图十七可以看出,在记录zws文件夹的MFT表项中就是记录着其文件夹下有什么文件,以及是以一个目录的形式(01)记录着各个文件所在的MFT表项,接下来的提取方法就和前面的就基本一样了,我们以jpg图片为例在图十六中我们可以明显看到图片位置在45(2D)号MFT表:

 (图十八)jpg所在MFT表项

        到这里大家剩下的就都知道了吧?提取步骤和前面的一模一样,大家参照一下2.1即可不作过多重复描述!

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好呀zws

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值