swf文件解析

来源:互联网 发布:大数据背景 编辑:程序博客网 时间:2024/05/01 11:37

swf文件的大致结构介绍(参考Macromedia Flash File Format (SWF)

.swf文件是一类二进制文件,文件本身包括headertags

1.Header包括了六个部分:

Header 总是以一个三个字节的Signature开始0x46, 0x57, 0x53 (“FWS”),紧跟其后的是一个Version numbe(如0x04)。接下来是FileLength描述包括Head在内的整个文件大小以byte为单位自身有四个字节,FrameSize(描述flash主框架大小)是一个RECT结构体(9字节). The FrameRate(两个字节) is the desired playback rate in frames per second. The FrameCount (两个字节)is the total number of frames in this SWF movie.

2.Tags Fomat

Each tag begins with a tag type and a length.

a.       short tags 2个字节,前10位表示tagID,后六位表示lengthtagID=code>>6;length=code&0x3f,如果blocks<62short tags

b.     long tags 6个字节,前两个字节存储tagIFD,后4个字节表示length。如果bloks>63long tags

3Tags 分类

A Definition Tags  定义用于(swf)文件的物件如文本,位图,声音。每一个Definition Tags 有一个特有的ID被叫做character ,播放器存储character 形成一个库叫做dictionary B   Control Tags  用于控制dictionary 中的物件,控制flash的播放,如把characters 显示在屏幕上,何时播放声音,或者高说播放器转到文件中的另一个frame

4Dictionary

       已经定义的tags集合并能给Control Tags所用,但同时也可以被Definition Tags引用用来定义更复杂的物件。


总结:.swf文件是有Headertags组成。其中tags分为两种:Definition Tags Control Tags. Definition Tags定义了一些存储在Dictionary被称为characters,  Control Tags 操作 characters,,控制动画.