前言
进行电子数据取证的时候,难免会遇到需要数据恢复的时候,掌握一定的数据恢复知识还是有必要的。本节涉及到的有:无高位簇恢复,有高位簇恢复,格式化虚拟目录恢复,格式化DBR恢复。
参考书籍:<<电子数据取证>>
上一篇:
电子取证-数据恢复
达达,公众号:Th0r安全电子取证之Fat32基础与半通用恢复
正文
第一个例子是没有高位簇的例子,这里可以看到开头是E5,代表文件被删除了。
这里只需要计算它的低位簇,然后跳转,就能就行保存了。
这种没有高位簇的,在文件被删除之后,可以直接通过跳转到对应簇就能进行恢复。
当没有高位簇的时候,被删除的变化是:
1号扇区 空闲簇数 和下个可用簇号改变
文件对应的FAT1和FAT2的FAT表现清空
目录项的第一个字节变成0XE5
当文件有高位簇的时候,删除文件的时候,高位簇会被删掉,这时候需要去尝试高位簇才行。
打开新的样例
这时候直接跳转到低位簇计算出来的簇,可以看到是错的
这时候对应于这种结果,需要对高位簇进行爆破,先假设高位簇是1,然后不行就+1。
接下来来看一下格式化后,磁盘怎么恢复。
磁盘格式化后
1号扇区 空闲簇数 和下个可用簇号改变
文件对应的FAT1和FAT2的FAT表现清空
目录项的第一个字节变成0XE5
目录的项的高位簇被清零
查看格式化后的:
这里搜索根目录的子目录,利用3F作为通配符
编写五个子目录
然后再恢复低位簇,从原先的那里复制
之后就能看到恢复成功格式化了,关于根目录的文件恢复,就和之前的一样了,不过要先恢复目录才行。
当输入簇和扇区不符合的时候,就说明扇区DBR有问题。
通过扇区数相减除以簇数,就可以得到簇的大小,这里是一样的,不是就需要刚才提到的公式去恢复。
然后通过根目录是2号簇,可以得到根目录的扇区。
之前提到过这个公式:根目录的位置计算公式:FAT的起始扇区号+
FAT表的大小 * 2
利用这个公式就可以反推出FAT表的大小了,就可以由此去判断DBR的正确与否,以及之后的修复。
原文始发于微信公众号(Th0r安全):电子取证之FAT32高位簇恢复和格式化恢复