为什么在反编译swf文件时jpexs工具不起作用?

时间:2019-03-14 09:47:24

标签: flash

有人知道如何反编译.SWF文件吗?

我已经尝试过JPEXS和Sothink SWF反编译器,但是它不起作用。

我将此.swf放在了link中。

谢谢。

1 个答案:

答案 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