yaoaijia 发表于 2008-11-21 10:26:29

微软复合文档头的Winhex模板[免费]

昨晚写的。有些命名纯粹是YY。大家可以改成自己喜欢的。使用前把文档设成磁盘模式。

template "Microsoft复合文档头模板"


description "Microsoft复合文档头模板 by yaoaijia"
applies_to disk   //使用前先把文档设成磁盘
sector-aligned

requires 0x00 "D0 CF 11 E0 A1 B1 1A E1"//检查文档标识


begin
                section "我们约定:逻辑扇区=文档扇区+1"   //复合文档中的扇区不包括文档头(逻辑扇区0),而是从逻辑扇区1开始。

                section "@文档头参数"

                hex 8   "复合文档标识(D0CF11E0A1B11AE1)"
                hex 16   "文件唯一标识(可全0)"
                hex 2    "格式修订号(3E00)"
                hex 2    "格式版本号(0300)"
                hex 2    "字节顺序号(FEFF:高位前低位后)"
                uint16   "标准扇区字节数幂(一般为9)"
                uint16   "短流扇区字节数幂(一般为6)"
                read-only hex 10   "未使用"
                uint32   "SAT所占扇区数(=MSAT表项总数)"   //MSAT中每四字节一项(文档扇区),指向某SAT扇区,
                uint32   "目录流起始文档扇区"
                read-only hex 4   "未使用"
                uint32   "标准流最小字节数(4096)"
                int32    "SSAT起始文档扇区(-2:不存在)"
                uint32   "SSAT所占扇区数"
                int32    "额外MSAT起始文档扇区(-2:不存在)" //因为文档头中内含一部分MSAT项,所以此处取名"额外",纯粹为了好记
                uint32   "额外MSAT所占扇区数"

                endsection

                section "@文档头内含MSAT表项"

                {               
                        int32 "SAT #~ 所在文档扇区"

                        IfEqual "SAT #~ 所在文档扇区" -1
                                ExitLoop
                        EndIf

                        IfEqual "SAT所占扇区数(=MSAT表项总数)" (~+1)
                                ExitLoop
                        EndIf
                }//头最多含109个MSAT项

end

lhw8033 发表于 2008-11-21 10:30:17

太牛X啦,这都会写,拜你为师啦!

shuaiji0077 发表于 2008-11-21 10:31:43

谢谢楼主提供,支持
转自中国硬盘基地技术社区 http://bbs.intohard.com ,原文地址:http://bbs.intohard.com/viewthread.php?tid=52053

yaoaijia 发表于 2008-11-21 10:36:23

玩复合文档务必注意一点:
"我们约定:逻辑扇区=文档扇区+1"   //复合文档中的扇区不包括文档头(逻辑扇区0),而是从逻辑扇区1开始,即文档扇区0=逻辑扇区1。

dong31680 发表于 2008-11-21 11:12:26


谢谢楼主提供
转自中国硬盘基地技术社区 http://bbs.intohard.com ,原文地址:http://bbs.intohard.com/viewthread.php?tid=53162

zjl6634 发表于 2008-11-21 11:36:50

谢谢楼主提供好东西!!!

nhqwsj 发表于 2008-11-21 12:08:31

感谢楼主提供这么好的东西

椿佳电脑 发表于 2008-11-21 14:52:08

多谢楼主!!!!

z007 发表于 2008-11-21 18:42:07

怎么用?

怎么用?

lughon 发表于 2008-11-21 20:06:37

真得很强(49:
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 微软复合文档头的Winhex模板[免费]