SWF文件结构大解剖 三、swf与exe文件之间的互相转换

作者:牛胜超   类型:转载   来源:天极设计

    用Flash自带的播放器可将一个swf文件转换成一个可自动播放的exe文件,这个转换过程只不过是在该swf文件前后加上播放器的代码而达到的,当我们知道了这个转换原理后,我们就可以实现由exe向swf转换了。

  对由swf文件转换成的exe文件进行分析后,我发现Flash自带的播放器只是对swf文件做了如下几步修改:

  1、在一个swf文件前加上exe文件头,共5BFFF字节; 
  2、接下来是完整的swf文件内容; 
  3、再接下来四个字节是exe文件的结束标志; 
  4、最后是记录swf文件大小的四个字节。

  将一个Flash影片的exe文件转换成swf文件,我们只需把swf文件转换成的exe文件的过程反着做一下就可以了,也就是将上述1、3、4步骤加上的东西 删除掉就可以了。

  详见下表: 

偏移量
字节内容
备注
  0 4D 5A 90···00 00 exe文件头
·
·
·
5BFFF
  5C000 46(或43) swf文件头
5C001 57
5C002 53
5C003 (可能为05、04、03、02、01) swf文件版本号
  5C004 记录swf文件大小的四个字节  
5C005
5C006
5C007
  ·
·
·
swf文件内容  
  40 swf文件的结束标志
  00
  00
  00
    56 exe文件的结束标志
  34
  12
  FA
    记录swf文件大小的四个字节 与5C004~5C007的内容相同
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

到这里我们对swf文件的解剖分析就结束了,你可以结合着Flash控件动手制作一个你自己的flash播放器,一定会很棒!

   责任编辑:uufeng    时间:2006年7月12日