微软复合文档头的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 太牛X啦,这都会写,拜你为师啦! 谢谢楼主提供,支持
转自中国硬盘基地技术社区 http://bbs.intohard.com ,原文地址:http://bbs.intohard.com/viewthread.php?tid=52053 玩复合文档务必注意一点:
"我们约定:逻辑扇区=文档扇区+1" //复合文档中的扇区不包括文档头(逻辑扇区0),而是从逻辑扇区1开始,即文档扇区0=逻辑扇区1。
谢谢楼主提供
转自中国硬盘基地技术社区 http://bbs.intohard.com ,原文地址:http://bbs.intohard.com/viewthread.php?tid=53162 谢谢楼主提供好东西!!! 感谢楼主提供这么好的东西 多谢楼主!!!!