用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播放器,一定会很棒!