popmusic
发表于 2011-5-24 19:38:20
回复 1# icefox
月下寒心
发表于 2011-5-24 20:53:06
FAT32分区格式化后手工恢复数据一例(手工重建FAT和FDT)
FAT, FDT, 手工, 分区, 数据恢复
前段时间在论坛上发表了一篇关于NTFS分区格式化后用WINHEX手工提取数据一例原文地址:http://bbs.intohard.com/viewthread.php?tid=46244后,很多朋友加了我的QQ,互相讨论了些关于文件系统方面的问题。在此我个人认为,尽管很多问题,比如说误格式化了用一些恢复软件扫描搜索也能恢复出数据。但如果真正从事数据恢复行业想成为数据恢复高手,不了解文件系统根本是不可能达到的。特别是到了磁盘阵列的数据恢复不了解文件系统根本就无从下手。刚好今天手上有个案例,是用手工恢复的,涉及到文件系统方面的知识(FAT32格式的)就花了点时间放上来供大家相互讨论、交流
问题:客户描述为因系统感染病毒重做系统后又在系统下把另外两个盘也格式化了,才想起一些重要的资料放在桌面我的文档里面。
分析:客户原来的系统是XP的,说到这很多朋友就会知道了,有些版本的XP系统桌面上我的文档其实是在D盘里面,而D盘现在已被格式化
首先,我们对原盘做个镜像,(最好不要在原盘上进行操作)然后用WINHEX打开镜像——专业工具——设置镜像为磁盘。到这里,有必要说明一下,我做数据的首先工具就是WINHEX,也不怕大家笑话,别的工具我还真不太会用。WINHEX的功能非常强大,包含了格式化后对全盘进行扫描搜索及搜索某一类型的文件,在这里就不讲解这些了。打开格式化了的D盘,在专业工具——获取快照如图:
下载 (116.87 KB)
2008-7-18 15:30
在彻底搜索文件系统数据结构前面的小方框打上勾点击左下角的OK开始全盘搜索
下载 (142.3 KB)
2008-7-18 15:30
搜索的速度很快,10G的分区几分钟就搜完了
下载 (131.58 KB)
2008-7-18 15:30
点击OK,我们会在目录浏览器下发现多了一个Path unknown(未适路径)双击打开:
下载 (76.65 KB)
2008-7-18 15:30
可以看出搜索出来的文件是以簇号作为文件夹存放的,这样我们查阅起来非常不方便,我们可以按文件来排列:
下载 (138.35 KB)
2008-7-18 15:30
如上图按文件来排列后我们可以选择任意一个文件单击右键进行预览或者是复制到指定的路径。上面我们选择了一个文件进行预览结果为:
下载 (18.91 KB)
2008-7-18 15:30
点了确定后还是打不开。那么指定路径拷到硬盘上再打开呢,试了很多文件包括照片、文档大都打不开要么就是乱码。用别的软件搜索呢,也试了,效果更差,更难得整理。这时候我们转回头来再来分析格式化了后对数据结构产生了哪些破坏呢?我们看DBR如下图:
下载 (213.99 KB)
2008-7-18 15:30
好像没发现有什么问题。暂且不管,再看FAT:
下载 (181.15 KB)
2008-7-18 15:30
从FAT表中可以看到除了用以记录介质描述的簇0和簇1的的位置为F8 FF FF 0F FF FF FF FF外,整个FAT表格式化后被全部清空了。转到看备份的FAT2也遭到破坏。再到根目录下看看文件目录登记项:
下载 (174.75 KB)
2008-7-18 15:30
除了只留下一个卷标外连回收站都给清除了。再往下查看子目录的内容发现都是完好的,没有被清0。但我们在资源管理器下看不到,是因为FAT和FDT 被清0了,也就没有记录它们的入口了,所以对操作系统来讲,它们是不存在的。其实想想就会明白,对于较大的文件或是整个分区我们在删除、格式化时所花的时间比拷入文件时所花费的时间少得多,所以不可能对数据区也清0。这就有了只要没覆盖过的数据在理论上都能恢复的说法。也就是说格式后只是删除了FAT和FDT,那么我们就可以想是不是恢复了FAT和FDT就恢复数据呢?这只是一个假想,我们可以来试一下。
可以查找子目录的标示2E或2E2E,也可以用查找文件名方式。因为查找到子目录的标示后还要一个一个的排除,很慢。所以这里我们采用查找文件名的方式,客户描述有个名为“董事会股东会文件”的文件夹,那么我们新建一个文本文档输入这几个字保存。然后用WINHEX打开:
下载 (27.63 KB)
2008-7-18 15:30
回到我们的目标盘,到根目录往下搜索文件名的十六进制数值B6ADCAC2BBE1搜索了一会儿停下来了我们看 :
下载 (162.46 KB)
2008-7-18 15:30
正是客户所需要的文件,往上翻 下载 (188.76 KB)
2008-7-18 15:30看到所在的子目录先看看该子目录的父目录为:00000000H所以该子目录的父目录就是根目录,那么直接在根目录下建一个目录项对应于该子目录就可以了。因此转到根目录,随便在没有使用的目录项上建:
下载 (182.38 KB)
2008-7-18 15:30
为了方便就取了一个当天日期的文件名,保存退出。关闭程序再打开:
下载 (182.12 KB)
2008-7-18 15:30
目录浏览器下多了一个刚才建的名为20080717的文件夹,双击打开:
下载 (163.5 KB)
2008-7-18 15:30
一目了然,客户确认文件一个都不差。先别高兴,会不会像刚才一们产生打不开、乱码的现象呢?按文件排列,预览先前对全盘扫描搜索出的那个文件
下载 (124.22 KB)
2008-7-18 15:30
下载 (161.38 KB)
2008-7-18 15:30
下载 (81.89 KB)
2008-7-18 15:30
无论是EXCEL还是WORD照片都能正常预览,这时细心的朋友可能会发现,先前全盘扫描恢复出来的文件名前面有个问号,而后来采用手工恢复出来的却没有。这个问题就留给大家自己思考了。CTRL+A全选拷到指定的路径:
下载 (131.25 KB)
2008-7-18 15:30
经检验数据百分百的恢复没有一个乱码打不开的。看到这里,有可能会有人发现我这个恢复的过程不是在镜像上而是原盘上操作的,(我本人是坚决反对在原盘上操作的)这次只是为了讲解下一步省略了一个镜像还原的过程,当然这是要在自己的把握的情况下的,之前我已对原盘做过镜像了。照说数据恢复了,我们的工作也就到此结束了,也许有可能会有人觉得下面的工作是多此一举,不过下面的分析会更有利于我们掌握好文件系统。有兴趣的朋友可以往下看。我们关闭程序,重启电脑。再打开资源管理器打开我们的目标盘可以看到我们刚刚建立名为20080717的文件夹还在,按常规双击打开:
下载 (50.72 KB)
2008-7-18 15:30
这是怎么回事呢?之前我们已经分析过了格式化后,FAT和FDT全部被清0了。系统以簇为单位来为文件分配空间,FAT是系统用来记录每个文件的存储位置的表格以链的方式存放簇号。通俗点说就好像是FAT中没有为文件指定一条走下去的路径一样(哈哈,个人理解),就会出现这种情况了。那么我们可以考虑手工重建FAT,当然这还是要建立在文件是连续存放的基础上的,计算量也很大。在这里我们只是为了分析文件系统,再用WINHEX打开目录盘,到要目录下:
下载 (174.05 KB)
2008-7-18 15:30
从上图文件夹20080717的FDT表项中可以看到文件夹20080717起始簇号为03H簇,
在FAT32中用四个字节来描述一个簇号,那么其在FAT表中对应的偏移地址为3乘以4等于12,也就是说文件夹20080717在FAT的入口地址为12,8KB。因为每簇扇区数为16所以占用一个簇的空间。我们转到FAT下:
下载 (173.84 KB)
2008-7-18 15:30
重建后保存退出。重启电脑,再进入资源管理器下查看双击打开文件夹20080717:
下载 (144.07 KB)
2008-7-18 15:30
能够顺利打开了。我们打开其中任意一个文件或者是文件夹来看看:
下载 (33.74 KB)
2008-7-18 15:30
跟先前打开20080717文件夹一样。原因是因为我们刚才只是仅仅恢复了文件夹20080717的FAT簇链。剩下的就留给有兴趣的朋友们自己分析了。也可以加我的QQ共同讨论、交流。
最后还是声明一下,由于本人的数据恢复技术完全是自学,加上学历也有限,很多东西都只是个人所理解,如有不当之处请大家多多指正。谢谢!
szsxmys
发表于 2011-5-25 01:19:11
很好的一本书谢谢你
随风独自飘
发表于 2011-5-27 20:17:16
好书,谢谢分享!
mysoulgl
发表于 2011-5-28 23:26:25
顶了 好书 新人下来研究一下
397998485
发表于 2011-5-29 20:36:55
下载,学习学习!
igd0929
发表于 2011-5-29 21:41:27
学习下了楼主精神可嘉
lrong1128
发表于 2011-5-30 08:55:02
看看了,学习下
黄良兵
发表于 2011-5-30 09:22:47
study never halt !
feng678678
发表于 2011-5-30 09:59:39
看看有没有用啊,