7个碎片的excel重组实验
来源:互联网 发布:ubuntu 17.10 samba 编辑:程序博客网 时间:2024/05/17 06:11
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。继续分析搜索第四个碎片。我就不一一贴图了,以下是分析出的各碎片的范围:
1595128---1596183
1669056---1669631
1745208---1745623
1761672---1762887
最后把这提取出来的7个碎片文件合并成一个excel文件:recovery.xls。然后打开验证
一下,如图:
没有任何问题,文件重组成功!
以上是我自己做的实验,在实际的重组过程中可能会碰到一些其他的问题。在这就不探讨了。此实验只是提供一种思路供大家参考,前提是要对workbook流的结构要有一定的了解才行。好了,就到这里,下次见!
bsmao 2014-1-8
- 7个碎片的excel重组实验
- IP碎片重组(2)
- IP分片重组的分析和常见碎片攻击
- 数据库索引碎片的自动重建或重组
- 【linux内核·ip碎片重组】IP Reassembly -- 比较透彻的注释解析了IP碎片重组的过程
- IP包碎片重组过程
- IP碎片重组过程分析
- 多个碎片的合并
- IP分片重组的分析和常见碎片攻击 v0.2
- IP分片重组的分析和常见碎片攻击 v0.2
- 分享个ORACLE整理表碎片的脚本
- 内存碎片小实验
- [协议分析] IP分片(碎片)重组简单概念
- [协议分析] IP分片(碎片)重组简单概念
- [协议分析] IP分片(碎片)重组简单概念
- SQL Server 重建索引|索引重组|索引的碎片检查 (MSSQL个人笔记之数据库优化之路 六<SQL2005以上>)
- 重组
- 重组
- IONIC 自动更新APP版本
- Python自动运维系列:每天凌晨定时执行特定任务
- [勇者闯LeetCode] 35. Search Insert Position
- zscat分布式框架单机版代码生成crud
- 【ionic App问题总结系列】ionic 如何更新app版本
- 7个碎片的excel重组实验
- 转接IC GM7150BC CVBS转BT 656 低功耗NTSC/PAL视频解码器
- Installing CUDA 8.0 + cuDNN 5.1 + TensorFlow with Ubuntu 14.04 (下)
- Java之对象的创建和使用的一个实例分析
- 如何定位性能瓶颈
- C++模板实现链表
- 海子的诗
- 安装STARMAN
- GYM 101149 D.Behind the Wall(最小割-Dinic)