Posted on 2008-12-17 16:38
S.l.e!ep.¢% 阅读(1340)
评论(0) 编辑 收藏 引用 所属分类:
VC
最近项目需要研究swf的二进制,小有成果,把一些基础的东西贴出来,帮助大家入门。
首先得到swf的file_format_specification_v9.pdf,这个需要接受adobe公司的协议才可以看具体的google一下吧。
基础工具二进制查看工具,自己随便找个方便的吧,呵呵。
下面进入正题
未压缩swf十六进制原文如下:
46 57 53 09 4F 00 00 00 78 00 05 5F 00 00 0F A0
00 00 0C 01 00 44 11 08 00 00 00 43 02 FF FF FF
BF 00 23 00 00 00 01 00 70 FB 49 97 0D 0C 7D 50
00 01 14 00 00 00 00 01 25 C9 92 0D 21 ED 48 87
65 30 3B 6D E1 D8 B4 00 00 86 06 06 01 00 01 00
00 40 00 00 00
现在一点点的看
46 57 53 09 //FWS未压缩的swf9版本
4F 00 00 00 //文件未压缩时的大小79字节,压缩后的swf,此值不变
78 00 05 5F 00 00 0F A0 00
//9位定义Rectangle长宽,也就是舞台宽高
//0111 1000 0000 0000 0000 0101 0101 1111 0000 0000
//0000 0000 0000 1111 1010 0000 0000 0000
//前5位 01111 ==>15 Nbits表示以后每次读15位
//000 0000 0000 0000 ==> 0 = Xmin
//0101 0101 1111 000 ==> 11000 = Xmax
//0 0000 0000 0000 00==> 0 = Ymin
//00 1111 1010 0000 0==> 8000 = Ymax
00 0C //0x000C ==> 0x0C00 ==> 0x0C (忽略后面) = 12 FrameRate
01 00 //0x0001 ==> 0000 0000 01 = 1 FrameCount
44 11 08 00 00 00 //flash8 or later FileAttributes
//metaInfo
43 02 FF FF FF //0x0243 ==> 0000 0010 01 = 9 SetBackgroundColor && 000011 = 3 背景颜色RGB
舞台中的元件暂不分析,大家自己研究吧,说来话长阿.... file_format_specification_v9.pdf这个有298页,呵呵
最后
40 00 //0x4000 ==>> 0x0040 ==>> 0000 0000 0100 0000 //Tag type = 1 = ShowFrame //length = 0
00 00 //0x0000 0x0000 0000 0000 0000 0000
//Tag type = 0 = end
//length = 0
[日期:2008-01-10 ] | 评论:0 | 作者:chris | 查看:357