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