答案 0 :(得分:0)
SWF不能通过JPEXS打开,因为它已被压缩 !!
当文件(例如:swf,jpeg,mp3,mp4 )没有在任何程序中打开时,您要做的第一件事是检查格式字节使用hex editor是正确的。
检查文件字节:
通常,SWF文件以字节43 57 53
(例如: "CWS"
)或什至字节46 57 53
( eg: { {1}}。
您的文件以"FWS"
开头(最后三个字节是正常SWF的预期78 DA 00 43 40 BC BF 43 57 53
)。
前两个字节43 57 53
表示它具有一些ZLib压缩(例如例如:
78 DA
文件)。
解决方案:
分解ZLib的两种选择。一种是通过AS3代码,另一种是通过外部(Windows)工具。
选项1 ),使用AS3解压缩。
获取库AS3ZLib并将其.zip
文件夹复制到Flash项目as3zlib
文件的相同位置。 (在.as
上找到文件夹)。
将SWF文件的字节加载(或读取)到名为src/com/wirelust/as3zlib/
的AS3字节数组中。
尝试以下代码逻辑:
fileBytes
import Zlib; //do import of API
....
public var zlibdecomp :Zlib; //create instance variable
....
public var fileBytes :ByteArray = new ByteArray;
public var swfBytes :ByteArray = new ByteArray;
//# SWF original file bytes load
fileBytes = ... ; //your loading code here
//# Decompress loaded into new SWF bytes
zlibdecomp = new Zlib; //create new ZLIB instance in variable
swfBytes = zlibdecomp.uncompress( fileBytes ); //update with decompress version
trace("swfBytes length (DEFLATED) : " + swfBytes.length); //is 8,617,377 bytes??
中的字节现在可以另存为文件swfBytes
,它将在JPEXS中正确打开。使用fileReference API将AS3字节保存到磁盘。
选项2 ),使用外部ZLib工具。
使用OffZip(对于 Windows 操作系统)可以解压缩SWF。
这是direct OffZip file。将new.swf
复制到Offzip.exe
之类的文件夹中。
现在通过运行c:\offzip\
打开命令行。键入cmd.exe
(按cd\offzip\
)。或者,只需按住enter
并右键单击Offzip文件夹,然后选择“此处打开命令窗口” 。
键入shift
(按offzip -a vpt.swf
)。
您应该看到这样的输出...
enter
现在可以在JPEXS中打开输出文件C:\offzip>offzip -a vpt.swf
Offzip 0.4
by Luigi Auriemma
e-mail: aluigi@autistici.org
web: aluigi.org
- open input file: vpt.swf
- zip data to check: 32 bytes
- zip windowBits: 15
- seek offset: 0x00000000 (0)
+------------+-----+----------------------------+----------------------+
| hex_offset | ... | zip -> unzip size / offset | spaces before | info |
+------------+-----+----------------------------+----------------------+
0x00000000 .
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
.................................................................... 8496131 ->
8617377 / 0x0081a403 _ 0 8:7:26:0:1:2657f334
- 1 valid compressed streams found
- 0x0081a403 -> 0x00837da1 bytes covering the 100% of the file
。您可以将其重命名为00000000.cws
。