三、swf与exe文件之间的互相转换
用自带的播放器可将一个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 | | |
|