迅维网

标题: excel碎片重组 [打印本页]

作者: zhy123    时间: 2014-8-18 02:09
标题: excel碎片重组
本帖最后由 zhy123 于 2014-8-18 02:10 编辑

Excel碎片重组实验
H盘是fat32系统,簇大小8 。根目录下有一个123.xls文件,winhex下查看文件共有7个碎片。现在删除这个文件,再用winhex分析查找到所有碎片,提取出来,最后在重组为一个文件,就是原来删除的123.xls 。




下面是恢复过程:打开winhex,根据目录项定位到他的文件头扇区。1591240


根据文件头中的参数跳转到ROOT所在扇区,查看workbook流的起始位置,为08 00 00 00

跳转过去,

然后根据workbook流的结构关键字标识(比如字体,格式,样式,调色板,SST,sheet表等等)来分析当前碎片的结束位置和下一个碎片的开始位置。
当分析到1591271扇区时,发现下一扇区明显是另外一个复合文档的文件头,这说明1591271扇区就是第一个碎片的结束扇区,经过计算,这个扇区正好是198404号簇的最后一个扇区。
这样第一个碎片就确定了,1591240---1591271 ,提取出来保存为1.dat 。现在查找第二个碎片,我们利用下一个碎片第一个关键字标识距离碎片开始的字节长度为线索来查找。期间排出了几个错误的搜索结果,最后确认1591280扇区为下一个碎片的开始扇区。


下面继续分析,查找是碎片的结尾。通过分析搜索,在1592143扇区找到了碎片尾部,如图:

这样,第二个碎片就确定了,1591280---1592143。提取出来保存为2.dat。
下面查找第三个碎片的开始扇区,同样的思路。最终在1593840扇区找到了下一个碎片的开始扇区。如图:


继续分析查找碎片的结尾,在1594191扇区找到了碎片的结束扇区,如图:

这样,第三个碎片就确定了大小范围,1593840---1594191 。提取出来保存为3.dat 。继续分析搜索第四个碎片。我就不一一贴图了,以下是分析出的各碎片的范围:
4.          1595128---1596183
5.          1669056---1669631
6.          1745208---1745623
7.          1761672---1762887
最后把这提取出来的7个碎片文件合并成一个excel文件:recovery.xls 。然后打开验证
一下,如图:

没有任何问题,文件重组成功!

以上是我自己做的实验,在实际的重组过程中可能会碰到一些其他的问题。在这就不探讨了。此实验只是提供一种思路供大家参考,前提是要对workbook流的结构要有一定的了解才行。好了,就到这里,下次见!



作者: 天山雪鹰    时间: 2014-8-18 05:26
好强大的说,我表示看不懂原理
作者: №稱尛飛♀    时间: 2014-8-18 06:13
如此牛叉,看我我的好好学学数据恢复。。。。。
作者: sihuo527    时间: 2014-8-18 07:03
呵,还真的,没有看懂啊,呵,太深了!!
作者: 野兽619    时间: 2014-8-18 08:16
只用过简单的数据恢复,重组这个鸟东西  还真没弄过
作者: hxlzhwxzhan    时间: 2014-8-18 08:32
这种数据修复方法有点复杂
作者: likai    时间: 2014-8-18 08:44
这个真的要高手才能看懂啊。
作者: zcdzj1978    时间: 2014-8-18 09:11
真是遇到高手啊,太厉害了,羡慕啊
作者: xhnzxb    时间: 2014-8-18 09:18
虽然看不懂 但是感觉很厉害的样子
作者: honghai0605    时间: 2014-8-18 09:21
我觉的还是恢复工具好用!呵呵呵
作者: shui5770    时间: 2014-8-18 09:40
这就是传说中的大神了。
作者: 鄢俊532245725    时间: 2014-8-18 10:29
哎,看不明白,也没有门路去学习
作者: yangchaoweixiu    时间: 2014-8-18 11:16
好的NB的样子,但看不懂啊。呵呵
作者: zhy123    时间: 2014-8-18 11:19
yangchaoweixiu 发表于 2014-8-18 11:16
好的NB的样子,但看不懂啊。呵呵

仔细看看应该没问题。
作者: zhy123    时间: 2014-8-18 11:20
鄢俊532245725 发表于 2014-8-18 10:29
哎,看不明白,也没有门路去学习

论坛就是很好的学习的地方。
作者: zhy123    时间: 2014-8-18 11:21
honghai0605 发表于 2014-8-18 09:21
我觉的还是恢复工具好用!呵呵呵

恢复工具是程序是死的遇到解决不了的问题还是要手工解决。
作者: zhy123    时间: 2014-8-18 11:21
xhnzxb 发表于 2014-8-18 09:18
虽然看不懂 但是感觉很厉害的样子

这个不是这么复杂。
作者: zhy123    时间: 2014-8-18 11:22
hxlzhwxzhan 发表于 2014-8-18 08:32
这种数据修复方法有点复杂

能否提供简单一些的方法。
作者: 江南秀士    时间: 2014-8-18 13:35
牛叉的说。
作者: zwsoft    时间: 2014-8-31 23:21
取消文件删除标志,或者按FAT中的文件块的指针来查找下一个文件存储区。很久没玩FAT了,思路大概这样子的。写过ARM的SD 卡的 FAT驱动,搞这个就简单多了。
作者: zhy123    时间: 2014-8-31 23:30
zwsoft 发表于 2014-8-31 23:21
取消文件删除标志,或者按FAT中的文件块的指针来查找下一个文件存储区。很久没玩FAT了,思路大概这样子的。 ...

楼主会编程啊。
作者: pdsyd    时间: 2014-9-4 22:03
挺复杂的,看不懂
作者: daijiandong    时间: 2014-9-16 21:30
好强大的技术
作者: 优秀妞妞    时间: 2014-9-17 07:17
太深奥了,对于我这个菜鸟直接看不懂啊
作者: 江南秀士    时间: 2014-9-17 09:04
对于自己不会的,都感觉很牛叉。呵呵。
作者: 冰封冷雁    时间: 2014-9-17 16:33
看不懂啊 。。。了
作者: agph1    时间: 2014-9-18 15:29
不太懂硬盘。过来了解下, O(∩_∩)O谢谢




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4