FAT32分区下的文件数据定位及删除后的恢复.docx
《FAT32分区下的文件数据定位及删除后的恢复.docx》由会员分享,可在线阅读,更多相关《FAT32分区下的文件数据定位及删除后的恢复.docx(30页珍藏版)》请在冰豆网上搜索。
FAT32分区下的文件数据定位及删除后的恢复
FAT32分区下图片文件及文件夹下PDF文件的定位及数据恢复
10级信息管理系司法信息安全方向12号王立鹏
利用DiskCreator工具创建磁盘的步骤:
1)选择创建虚拟磁盘文件的位置为C盘;如下图1所示:
图1
2)创建大小为1024M的虚拟磁盘;如下图2所示:
图2
3)DiskLoader工具装载虚拟磁盘(Browse选择创建的虚拟磁盘文件FATnt后选择LoadInsDisk);如下图3—4所示:
图3
图4
4)安装完成;如下图5所示:
图5
对虚拟磁盘分区的步骤:
1)右击我的电脑,选择“管理”;如下图6所示:
图6
2)在“计算机管理”中选择“磁盘管理”;如下图7所示:
图7
3)对磁盘一(如下图8所示)进行分区:
图8
4)建立主分区的过程如下右击未指派的1G磁盘,选择新建磁盘分区;如下图9——14所示:
图9
图10
图11
图12
图13
图14
主磁盘分区建好如图15所示:
图15
5)建立扩展分区过程如下,右击未指派的842MB选框后,选择新建磁盘分区,再选择扩展磁盘分区;过程如下图16——18所示:
图16
图17
图18
扩展分区建好后如下图19所示:
图19
6)创建逻辑驱动器,右击扩展分区(图19中绿框),选择新建磁盘分区;具体过程如下图20——26所示:
图20
图21
图22
图23
图24
图25
图26
按照上述方法创建好J逻辑驱动器;如下图27所示:
图27
上述过程为创建虚拟磁盘并且创建好分区的过程
创建的虚拟磁盘,大小为1G,一个NTFS的主分区,扩展分区中一个FAT32逻辑驱动器I,一个NTSF逻辑驱动器J,如下图28所示:
图28
在FAT32的分区中,也就是逻辑盘I中建立一个文件夹,放一个PDF文件,在I盘根下放两张图片,如下图29——30所示:
图29
图30
我们以删除图片Lighthouse文件以及文件夹下的南非文件为例子,来讲述如何进行文件的定位,以及删除文件后,相关扇区的变化,还有如何恢复数据。
删除前的图片文件Lighthouse以及文件夹下南非文件的内容分别如下图31——32所示:
图31
图32
文件以及文件夹删除以前,分别对MBR(主引导记录),EBR1(扩展引导记录),FAT32分区的DBR(DOS引导记录),FAT1(文件分配表),FAT2,以及数据区的文件目录项进行定位分析。
WinHex打开硬盘一,下图扇区就是MBR(C/H/S地址的0柱面0磁头1扇区),如下图33所示:
图33
上图33阴影部分的66字节为DPT(DiskPartitionTable,硬盘分区表,占64字节)和结束标志”55AA”
MBR中分区表的每16字节组成的分区表项分析
字节偏移
字段长度
值
字段名和定义
0X000001BE
1字节
0X00
引导标志(BootIndicator,指明该分区是否为活动分区
0X000001BF
1字节
0X01
开始磁头(StartingHead)
0X000001C0
6位
0X01
起始扇区(Startingsector),只用了0-5位,第6,7位被开始柱面字段使用。
0X000001C1
10位
0X00
起始柱面(StartingCylinder),共占10位,最大值为1023
0X000001C2
1字节
0X07
系统ID(SystemID)定义分区类型
0X000001C3
1字节
0XFE
结束磁头(EndingHead)
0X000001C4
6位
0X3F
结束扇区(EndingSector)只使用0—5位,第6,7位被结束柱面字段使用
0X000001C5
10位
0X19
结束柱面(StartingCylinder),共占10位,最大值为1023
0X000001C6
1DWORD(双字)
0X0000003F
相对扇区数(RelativeSectors),指该磁盘开始到该分区开始之间的位移量,以扇区来表示
0X000001CA
1DWORD(双字)
0X00065F5B
总扇区数(TotalSectors),指该分区中扇区总数
分析MBR扇区的分区表项,偏移为000001D2的一个字节为(05H),表示扩展分区,它的起始扇区为偏移000001D6开始的4个字节(9A5F0600H),计算EBR1的位置;跳到EBR1如下图34所示:
图34
计算出来EBR1位置在417690扇区。
下面跳到EBR1如下图35所示:
图35
扩展分区中的每个逻辑驱动器的分区信息都存在与类似于MBR的扩展引导记录(EBR,ExtendedBootRecord)中,EBR中分区表的第一项描述第一个逻辑驱动器,第二项指向下一个逻辑驱动器的EBR,如果不存在下一个逻辑驱动器,第二项就不需要。
从上图35阴影部分第一个分区表项可以看出驱动器类型,偏移0CBF35C2(0BH)看出分区格式为FAT32分区.偏移为0CBF35C6开始的4个字节(3F000000H)为相对位置,即63扇区,我们计算DBR的位置:
417690+63=417753扇区,跳到DBR扇区,如下图36所示:
图36
注:
大于一个字节的数值被以低字节在前的格式存储,例如:
相对扇区字段值为0X3F000000的低字节在前表示为0X0000003F.转换为十进制为63.
扇区开始的3字节(EB5890H)为FAT32的DBR的JMP指令,偏移0CBFB20B开始的2字节(0002H)表示每扇区的字节数为512字节。
偏移0CBFB20D的1个字节(08H)表示每簇的扇区数为一簇8扇区。
0CBFB20E开始的2字节(2600H)表示DOS保留扇区数为38扇区。
0CBFB210的一个字节(02H)表示FAT的个数为2.OCBFB224开始的4个字节(C1020000H)表示每FAT扇区数为705扇区。
我们就可以计算FAT1起始扇区为DBR所在扇区加保留扇区数:
417753+38=417791。
FAT2的起始扇区为FAT1起始扇区加FAT的大小:
417791+705=418496。
FAT的根目录放在数据区,数据区起始扇区为FAT2起始扇区加FAT大小:
418496+705=419201。
下表为DBR相关参数分析:
偏移
实际值(十六进制)
实际值(十进制)
长度(字节)
含义
0CBFB200
EB5890
3
JMP指令,跳转到引导程序,后随一个空指令90
0CBFB20B
0002
512
2
每扇区字节数,记录扇区大小
0CBFB20D
08
8
1
每簇扇区数,记录簇大小,即多少个扇区组成一个簇
0CBFB20E
2600
38
2
DOS保留扇区,一般为32
0CBFB210
02
2
1
FAT表个数,一般为二
0CBFB220
AE070B00
722862
4
该分区的扇区总数,即分区大小
0CBFB224
C1020000
705
4
每FAT扇区数,FAT32下每FAT表占用的扇区数
下图37为FAT1起始扇区:
FAT32用32为也就是4个字节表示一个簇。
数据区的簇编号从2号簇开始,在FAT表中前0,1簇是与系统相关的。
图37
下图38为FAT2的起始扇区图,FAT2与FAT1内容是相同的。
图38
下图39为数据区的开始扇区,簇号为2,以后的数据区簇号依次连续增加,一个簇为8扇区。
根目录放于数据区中。
FAT32没有独立的根目录区,它的根目录放在数据区,我们来分析目录项的32个字节:
字节偏移
长度(字节)
内容及含义
0X00
8
文件名
0X08
3
文件的扩展名
0X14
2
文件起始簇号的高十六位
0X1A
2
文件起始簇号的低十六位
0X1C
4
文件大小(字节)
图39
从偏移0CCB033A开始的2个字节(0902H)算出图片Lighthouse文件的起始簇号512,其在数据区的绝对地址为(512-2)×8+419201=423353.扇区偏移0CCB033C开始的4字节表示文件大小(7C900800H)为561276字节。
下图40表示图片文件数据起始位置,图示:
图40
跳转偏移量0008907CH文件大小,到文件末尾;如下图41所示:
图41
文件选中后的数据图;如下图42所示:
图42
我们在返回到数据区起始位置,看文件夹及文件夹下的目录,如下图43所示:
图43
偏移为0CCB029A开始的2字节(0300H)表示PDF文件南非的目录项在3号簇,绝对地址为:
(3—2)*8+419201=419209.跳到文件目录的地方,如下图44所示:
图44
从上图偏移0CCB127A开的2字节(0400H)可以看出pdf文件南非的起始簇为4,绝对地址为:
419201+(4-2)*8=419217.扇区,文件大小为(D46C1400H)1338580字节。
跳到文件数据起始扇区,如下图45所示:
图45
下图46表示跳转偏移量00146CD4H为跳转偏移量:
图46
文件内容选中后的图示47:
图47
以上为定位图片文件以及定位文件夹下PDF南非文件的数据区的详细过程,下面我们来删除图片文件和PDF文件,观察相关的扇区变化,进而将文件都恢复出来。
下图为删除文件的截图:
删除图片文件如下图48所示:
图48
删除PDF文件的图示为49:
图49
删除后我们跳到图片的文件目录项扇区,如下图50所示:
图50
上图选中区域最后两行可以看出,第一个字节变为E5了,说明图片文件被删除,但是图片文件的文件其实簇号和文件大小并没有变化。
我们跳到图片文件的数据区开始位置423353;如下图51所示:
图51
看出数据区并无变化。
我们跳到FAT1,如图52所示,看到FAT表清零了。
图52
跳到FAT2看看,如图53所示。
FAT也被清零:
图53
1.恢复图片文件。
我们到图片文件的开始扇区,并且定位如下图54所示,定位数据区并选中后恢复到I盘;
图54
定位到文件结尾,如下图55所示:
图55
恢复到I盘,如下图56所示:
图56
这样我们就恢复出来删除的图片了,下面我们来看看恢复出来的图片,如图57所示:
图57
2.恢复文件夹下的PDF格式的文件。
定位到文件夹的目录项:
文件夹的文件目录项不变,如图58所示:
图58
文件夹下文件的目录项还在3号簇,即419209扇区;跳到该扇区,如图59所示:
图59
可以看出文件的目录项第一个字节变为E5说明PDF南非文件被删除了,但是文件起始簇和文件大小没变化,依旧为4号簇(419217扇区),大小依旧为(D46C14OOH):
我们跳到419217并且定位文件数据区;如图60所示:
图60
选中数据区并恢复,如下图61所示:
图61
恢复到I盘的“pdf文件”文件夹下;如下图62所示:
图62
保存好后查看恢复出来的PDF南非文件及内容;如图63所示:
图63
到此文件夹下的pdf文件’南非”也就恢复出来了。
以上就是创建磁盘及分区,以及在FAT32分区下定位文件,并且删除文件后将其恢复出来的过程。
附录:
第一个EBR的扇区号417690
FAT32的DBR开始扇区号(417690+63)417753
每簇扇区数0x0D(08H)为8个
FAT表个数0x10(02H)为2个
每FAT扇区数0x24(C1020000H)为705
隐含扇区数0x1C(3F000000H)为63
DOS保留扇区数0x0E(2600H)为38
FAT1开始扇区为417753+38=417791
FAT2开始扇区号417791+705=418496
根目录区开始扇区号418496+705=419201
FAT32格式的J盘下一个图片文件为例,
Lighthouse图片文件的文件目录项中文件的起始簇号0x1A(0902H)为512
号簇,因为FAT32的数据扇区开始编号就是2号簇,所以文件的起始扇区转化过
去为(521-2)*8=4152。
其文件大小为0x(7C900800H)为561276字节
FAT16中,FDT所在的扇区不是簇的起始编号,而是当FDT所占的扇区
结束后算起,也是从2号编起。
文件在419201+4152=423353扇区起始,一直到偏移量08907C处共计561276
个字节。
J盘中的文件夹(pdf文件)的文件目录项中可以看出他的起始簇号为
0x(0300H)为03号簇,相对FDT的起始扇区为(3-2)*8=8号扇区。
文件夹的起始绝对扇区为419201+8=419209号扇区。
419209号扇区中文件“南非”的文件目录项中看出文件起始簇号0x
(0400H)为4号,相对扇区为(4-2)*8=16扇区,大小为0x(D46C1400H)为
1338580字节。
文件夹下的文件“南非”在419201+16=419217号扇区。
占1338580字节。
偏移为(146CD4H).
删除(Lighthouse文件)和(文件夹下的文件“南非”)后,跳到FAT1和
FAT2看出FAT项都被清零,再跳到FDT扇区,看出文件Lighthouse的目录项
第一个字节变为E5(0x00),而它的文件起始簇号和文件大小不变,分别为
423353号扇区和561276字节。
跳到423353扇区,看出文件的数据还在,从开始第一字节到偏移
(08907CH)为数据区。
文件夹下的文件“南非”,在文件目录项中的第一个字节变为E5(0x00H),
而文件的起始簇号和大小不变,文件在419217扇区,大小为1338580字节精心搜集整理,只为你的需要