您的位置:首页 > 其它

对于复合文档碎片提取遇到的问题

2009-08-01 13:26 232 查看
对于复合文档的结构了解后,打算做一些碎片提取的实验,以下为两个文件的记录
第一个文件:
头起始于:7247664SEC (451730簇)
头的参数:
SAT个数:2
目录起始SID:251 物理位置:252
SSAT个数:无
附加MSAT:无
MSAT起始SID:249,250 物理位置:250,251

目录SAT:251,-2
目录图
ROOT-----> SummaryInformation-----> Workbook……>DocumentSummaryInformation
DID2 左节点1 右节点3
block block block block
4096B 119181B 4096B
SAT:233-240 SAT:0-232 SAT:241-248
SAT和目录发现于:420360簇

SummaryInformation发现于:420359簇
420358、420357、420356、
451730、451731、451732、451733、451734、451735
第二个文件:
每簇SEC数:16
头所在位置:1921328 118834簇
头参数:
SAT个数:72
目录SID:9147
SSAT个数:无
附加MSAT:无
MSAT起始SID:9075-9146 72个SEC 9072 118846
FDFFFFF位于偏移:460处
在位于129337,129336-128335簇处找到SAT,
目录SAT:9147,-2
目录关系图:
ROOT------>SummaryInformation ……………………>Workbook………………………………>DocumentSummaryInformation
DID2 左节点1 右节点3 无 无
block block block block
大小:4096B 大小:4638200 大小:4096B
SAT:9059~9066 SAT:0~9058 SAT:9067~9075
文件大小为:4646392BYTE 应为:568簇
workbook:0-174,+4 179个
118846
SAT处被分段存储,在位于129336簇在往上在位于128337簇找到。
该文件在位于128337簇第一次分段,128337----129336,129337
SAT所在簇连为: 128335,128336,128337---129336,129337
而文件从118834簇开始,现在假设该文件只分了一次,那么簇链应该为118834-128337,,,,129336-129337,很明显是不正确的,那么该文件可能分过多次段

经过对内容的判断从118834,118835,118836,118837,118838,118839,118840,118841,118842,118843,118844肯定是该文件的内容,11个簇.而WORKBOOK是从
SID0开始的,11个簇也就是11*16-1=175SEC,也就是WORKBOOK的前175个已经确认,而该文件的尾部有四个扇区为WORKBOOK内容,那么已经有175+4=179个扇区得到
确认!

第一个文件由于只有两个碎片所以提取比较简单,重新组合后恢复正常。而对于第二个文件由于文件碎片过多(可能有10多个),而且大部分分段处基本上位于数据区,而数据区没有太多的特征所以不好对接,这也是目前遇到的比较麻烦的问题,因为这类文件根本不是顺序存放(有的文件碎片虽多但是基本上处于由上而下的存入,如头开始于0簇,可能的簇链为0,1,2,3,15,16,-2),对于这种不按套路存放的碎片如何提取,现在根本没有办法,一团糟!!!
我试过新建一个空的EXCEL文档并提取WORKBOOK和有数据的WORKBOOK做对比,但是好像没有什么发现。
是不是该停下来休息一下了,这两天可能研究的过于多,钻了牛角尖!
本文出自 “中国CHS实验室” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐