楼主: tclrz100e - 

对复合文档二进制结构(即“劳拉”文件格式)感兴趣的请进

    [复制链接]

该用户从未签到

4

主题

31

回帖

64

积分

[INTOHARD]班长

Rank: 2

积分
64
发表于 2008-4-27 18:58:44 | 显示全部楼层
好的,我再对照着看看,不懂了再问你,谢谢啊!

该用户从未签到

4

主题

31

回帖

64

积分

[INTOHARD]班长

Rank: 2

积分
64
发表于 2008-4-27 19:43:37 | 显示全部楼层
我刚意识到一个问题,这些参数会不会因为所在[wiki]硬盘[/wiki]不同而改变呢?比如说
Root storage entry 所在  36 SECTOR
SAT配置表所在     35 SECTOR
SSAT配置表所在    38 SECTOR
能不能把1table    、 Worddocment  、 Summaryinformation、  Documetsumaryinformation 、COMPOBIJ     的参数都代表什么含义说一下呀,我用Winhex把文件打开了,一些最基本的属性都可以看到就是不知道是什么意思,比如说下面的图中就是在我机器上打开的上传的文件的Worddocment ,但是里面参数这么多,都有什么作用啊。

该用户从未签到

4

主题

31

回帖

64

积分

[INTOHARD]班长

Rank: 2

积分
64
发表于 2008-4-27 19:49:34 | 显示全部楼层
原帖由 shannon0910 于 2008-4-27 19:43 发表
我刚意识到一个问题,这些参数会不会因为所在硬盘不同而改变呢?比如说
Root storage entry 所在  36 SECTOR
SAT配置表所在     35 SECTOR
SSAT配置表所在    38 SECTOR
能不能把1table    、 Worddocment  、  ...

worddocument.JPG

该用户从未签到

10

主题

99

回帖

2588

积分

[INTOHARD]工兵

Rank: 1

积分
2588
发表于 2008-4-27 21:57:09 | 显示全部楼层
原帖由 shannon0910 于 2008-4-27 19:43 发表
我刚意识到一个问题,这些参数会不会因为所在硬盘不同而改变呢?比如说
Root storage entry 所在  36 SECTOR
SAT配置表所在     35 SECTOR
SSAT配置表所在    38 SECTOR
能不能把1table    、 Worddocment  、  ...

这些参数当然会变,会随着文档的大小而改变
还有建义你把复合文档在多看几遍,你还是没有看懂和领悟你上传的图片只是一个目录流。

该用户从未签到

4

主题

31

回帖

64

积分

[INTOHARD]班长

Rank: 2

积分
64
发表于 2008-4-27 21:57:32 | 显示全部楼层
这是我算的结果,有两个地方有出入
MSAT  34 SECTOR
SAT配置表所在     35 SECTOR
SSAT配置表所在    37 SECTOR(和你算的不一样,不知道你是怎么算了)
Root.entry  26=38        80=128  
1table     A =10 起始SID          大小 000010=16(虽然我知道这个数字一看就不正常,不会这么小的)
Worddocment   起始 0       大小  1232=4658 在SAT
Summaryinformation  起始 12=18       大小000010=16
Documetsumaryinformation 起始 1A=26      大小000010=16
COMPOBIJ     起始 0      大小  66=102   

Root storage entry 所在  36 SECTOR 是怎么算出来的?

该用户从未签到

29

主题

1092

回帖

1万

积分

[INTOHARD]工兵

Rank: 1

积分
17691
QQ
 楼主| 发表于 2008-4-27 23:02:39 | 显示全部楼层

回复 46# 的帖子

解释一下:
我们用WinHex看到的数据所在的扇区数和复合文档中的参数所描述的扇区数有一个扇区的错位,比如说复合文档中描述的第0扇区在WinHex中看到的是第1扇区,为了便于区分,把用WinHex打开看到的扇区叫做物理扇区,文档的参数中描述的扇区叫参数扇区(这是我自己想的一个概念,请只在本帖中使用和理解!!)。我们可以这样理解:物理0扇区是这个复合文档的文件头,存放了复合文件的一些整体信息,它对后面的数据来说是一个隐藏扇区,所以对数据区来说,它把物理1扇区看成它的第一个扇区(即参数0扇区),物理2扇区就是参数1扇区,依此类推(如下图所示)。

物理扇区 0 1 2 3 4 5 6 …………N
参数扇区   0 1 2 3 4 5 …………N-1

该用户从未签到

4

主题

31

回帖

64

积分

[INTOHARD]班长

Rank: 2

积分
64
发表于 2008-4-28 16:41:17 | 显示全部楼层
噢,原来是这样,那我知道怎么算了。谢谢啊
现在我知道该怎么算但是怎样找到这个扇区还不是很明白,应该如何转换成偏移量,如何找到链,我再看看如果看不懂再请教你,不会嫌我烦吧,呵呵

该用户从未签到

23

主题

216

回帖

545

积分

[INTOHARD]工兵

Rank: 1

积分
545
发表于 2008-5-2 16:24:02 | 显示全部楼层
刚开始接触 有点难懂啊

该用户从未签到

12

主题

161

回帖

365

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
365
发表于 2008-5-3 12:14:04 | 显示全部楼层
华山剑客的文章真是好,呀,现在好不容易看懂一些了。谢谢你。

该用户从未签到

5

主题

64

回帖

2907

积分

[INTOHARD]营长

Rank: 6Rank: 6

积分
2907
发表于 2008-5-7 10:37:43 | 显示全部楼层
很需的文章,就是有点看不懂。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表