SWF文件结构大解剖(3)
来源:站长站 时间:06-09-21 点击: 点击这里收藏本文
三、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播放器,一定会很棒!
把此文章收藏到: