jpexs free flash decompiler 是一款免费且开放源代码的 Flash 反编译工具。Flash 本身是用于交互式矢量图与 Web 动画的标准,这款工具正是围绕对 Flash 文件进行反编译而设计的。它能够反编译、查看并提取 Shock Wave Flash 影片以及 swf、exe 格式文件,也可将 SWF 文件转换为 FLA 文件。该工具可反编译 Flash 中的各类元素,并支持动作脚本 AS3、0。文本或图像可被编辑或替换,在 SWF 反编译过程中还能导出形状、图像、声音或影片,实用性较强。软件提供中文界面,操作起来更顺手。若需要一款好用的 Flash 反编译工具,可以试试它。

1、可导出脚本、图像、图形、动画与声音。
2、支持将 SWF 文件转换为 FLA 格式,并展示 ActionScript 源代码;可直接在 ActionScript 源码层面进行编辑,也可借助汇编源码方式完成修改。
3、兼容 ActionScript1/2 与 AS3,在反编译源中点击某处即可高亮对应的 P 码指令,反向操作同样成立;修改后的 ActionScript 可保存到文件,还能替换图片、编辑文本与字体,并查看 SWF 中的资源内容(图形、精灵、字体、按键等)。
4、软件自带代理服务器功能,SWF文件的编辑操作可借助该服务器完成;其底层由Java编写,能跨多个平台运行,并配备英语、捷克语、中文、荷兰语、法语、德语、匈牙利语、葡萄牙语、俄语、西班牙语、瑞典语及乌克兰语等多种语言界面,部分类型的混淆代码也可被反编译。
5、需运行于Java 7或更新版本环境,可兼容Windows、Linux及MacOS系统。
6、界面采用蓝色 Office 2003 风格,配有功能区面板、标签及应用程序图标,并按形状、sprites、文本等类别以标签树呈现;每个标签均显示字符标识,名称可选自 ExportAsset 或其他信息。编辑区分左右两个面板,左侧用于编辑,右侧显示原始预览。将 SWF 文件拖入主窗口即可打开,也可把树中的项目拖出窗口完成导出;预览项目的背景颜色可在设置选项卡中调整,应用程序配置同样从这里进入。
6、可直接打开 SWF 文件,兼容未压缩以及采用 Zlib、LZMA 两种压缩方式的内容;对 AS1/2 与 AS3 文件均能识别,并支持 GFx 中的 Scaleform。读取范围涵盖 * 与 GFX 格式,也可查看 SWC 库。打开方式灵活,拖放、文件右键菜单或标准打开对话框都行,一次能载入多个文件;刷新按钮可重新读取,最近打开列表便于回访;还能以二进制方式打开文件,并在其中进行搜索。
7、显示SWF对象
MorphShapes(DefineMorphShape1 与 2 标签)
精灵(DefineSprite 标签)
按钮(DefineButton1 – 2标签)
文本处理方面,涉及DefineText1与DefineEditText两种标签,暂不支持TLF。
图像数据标签(DefineBits、JPEGTables、DefineBitsJPEG2–4、DefineBitsLossless1–2)
字体相关标签涵盖 DefineFont1 至 3、DefineCompactedFont、DefineFontInfo1 至 2 以及 DefineFontName。
视频部分由 DefineVideoStream 与 VideoFrame 两个标签构成。
声音相关标签涵盖 DefineSound、SoundStreamHead1 至 2 以及 SoundStreamBlock,二进制数据则由 DefineBinaryData 标签承载。
脚本相关标签涵盖 DoABC、DoABCDefine、DoInitAction、DoAction、DefineButton、BUTTONCONDACTION 与 CLIPACTIONRECORD,涉及 ActionScript 源、P 码、十六进制以及控制流图等内容。
帧相关标签涵盖 ShowFrame、PlaceObject1 至 3、PlaceObject4(不含 AMF)以及 RemoveObject1 至 2,这些标签所导出的 SWF 对象一并包含在内。
形状相关标签涵盖 DefineShape1 至 4,可导出为 SVG(支持程度有限)、PNG,也能输出到 HTML5 画布;变形形状则由 DefineMorphShape1 与 2 标签负责。
PNG 图片、GIF 动图、AVI 视频、SVG(支持范围有限)以及 HTML5 画布
导出为FLA格式
8、脚本替换(DoABC、DoABCDefine、DoInitAction、DoAction 标签,DefineButton BUTTONCONDACTION、CLIPACTIONRECORD 行动)
9、其他标签与编辑功能:通过树编辑器参数可对ActionScript进行编辑,左侧显示ActionScript代码,右侧则呈现P代码;在任一侧点击对应的AS项目,另一侧会同步高亮显示,便于在P代码位置直接修改现有动作。直接编辑ActionScript的方式目前仍属实验性质,部分功能可能无法正常运行。
10、AS3 P码:语法基于 RABCDasm,具体细节可查阅其网页。
11、提供搜索功能,可在ActionScript源代码或文本标签中查找指定内容,支持正则表达式匹配,并可直接跳转到文档类(AS3)。
12、可通过代理方式让浏览器走指定通道,并对 HTTP 通信进行嗅探以查找 SWF 文件;定位到 SWF 文件中可编辑的位置后,借助代理继续在进程内存与浏览器缓存中检索相关记录。可配合使用的浏览器包括 Mozilla Firefox 与 Google Chrome/Chromium。
13、反混淆功能支持处理 AS3 P 码,可清除混淆过程中插入的死代码,并对标识符进行全局重命名,同时修正那些被混淆器替换为非法字符的无效标识符名称。
14、设置中的自动反混淆功能可让应用程序自行清理死代码及其他混淆代码;若希望加快反编译速度,也可以将该功能关闭。
用自带的Flash浏览器即可
15、Windows 环境下内置的 Flash 浏览器可正常调用,未安装 Adobe Flash Player 也能呈现 Flash 内容;其余平台则默认启用内置查看器。
16、并行加速:应用程序能够采用并行方式(线程)进行读取SWF与反编译操作,从而提升处理速度。
17、反编译功能可被关闭,关闭后仅P码可见,因此若想进行反编译往往需要耗费大量时间,可据此灵活使用。在Windows平台上将FFDec加入SWF文件的右键菜单后,资源管理器中右键单击即可看到“打开方式FFDec”选项。
18、磁盘缓存机制方面,FFDec 借助缓存来提升重复访问项目时的响应速度。当该产品启用后,缓存文件会写入磁盘上的临时目录;若未启用,则保留在内存当中。文档类高亮启动功能上,FFDec 能够在打开 SWF 后直接定位并跳转至 AS3 文档类。
19、自动重命名标识符:在SWF开放时,自动执行“重命名无效的标识符”操作
20、其他方面,标签树可从右键单击弹出的上下文菜单中移除,并且支持通过命令行参数进行操作。
v26.4.0版本
新增“添加多个标签”对话框(#2755)
新增一项可配置项,用于指定 AS3 默认关联父类的名称(#2754)
在 AS3 视图里加入“关联资源”面板
为含有相关资源的类配上专属标识图标
支持在 AS3 类与其对应角色之间双向跳转
将 `flash.display.SimpleButton` 指定为按钮默认关联的父类
支持点击预览声音波形
支持创建 PlaceObject 矩阵补间动画(#2760)
可针对 `PlaceObject` 的 `ratio`(比例)与 `ColorTransform`(颜色变换)生成补间动画 (#2760)
在 `PlaceObject` 面板里新增了深度状态展示(#2760)
编辑变形、形状或 `PlaceObject` 时,界面中增加了自动预览复选框,可勾选启用预览效果。
可对编辑区域中的数据进行修改,导入与导出 XML 时采用 `float16` 格式而非 `ui16`。
所选变形或形状的填充样式、线条样式会以高亮方式呈现。
为渐变、位图矩阵与焦点的调节增设了可拖动控制柄
在形状或变形对象上按住 Alt 键再点击,即可调出填充样式的选择界面。
用 `Ctrl + 点击` 作用于变形或形状,便能选取线条样式。
在“原始编辑”模式下,进行“编辑”“保存”或“取消”操作时,当前选中的项目都能被保留下来。
加入默认黑色光标,并提供“手形”与“移动画布”两种光标样式。
新增用于 MSAA 渲染器的图标标识
新增按钮属性面板
通过变换手柄可对 `PlaceObject` 矩阵进行编辑调整
在属性编辑界面里,按钮记录所含的 `PlaceObject` 矩阵可直接进行修改。
支持读取 BioShock 所用的图像格式(#2734)
加入对自定义标签配置文件的兼容支持,BioShock 格式便是其中一例(#2734)
可在命令行界面(CLI)内完成标签配置文件的设定(#2734)
支持把 `.sol` 文件直接拖拽到 SOL 编辑器里打开(#2693)
增加了一个设置项,可以选择调用操作系统自带的文件选择窗口,不再局限于 Swing 提供的对话框(#2693)
支持文本转形状功能(#2700)
FLA 导出功能现已支持对“传统补间”的识别与检测。
FLA 导出功能现已支持识别“动作补间” (#2597)
新增对 JPEG-XR 图像格式的支持(#1084)
加入《城堡破坏者》SWF 配置项,优先采用 `DefineFunction2` (#2766)
新增对《城堡破坏者》SWF 配置文件的支持,并加入相应动作适配。
支持为《城堡破坏者》提供 Pixl 图像标签
新增对 fileAttributes 的 brokerProductManager 与 brokerLocalConnection 两项支持
针对尚未识别的动作,AS1/2 优化了相应的处理机制。
AS2 特性:可辨识静态成员并采用短名称调用(#2509)
声音:在基础标签信息中展示每个采样的位数(bits per sample)
针对 Iggy 格式的兼容性做了进一步完善,涉及若干问题修复与优化(#1305、#1442、#1736、#1745、#2002、#2768)。
支持将精灵替换为GIF之外的其它图像格式(#2767)
错误修复
修复“Aero 贴靠”功能引发的空指针异常问题
解决重命名分类过程中出现的空指针异常问题
修复了标识符全局重命名后无法保存的故障(#2753)
简易编辑器:解决在时间轴末端新增帧时出现的问题
简易编辑器:解决时间轴无法保留上次选择记录的情况
构建调整:去掉 `-noverify` 参数,因为该选项在 JDK 27 里已经无法使用(#2761)
修复了位图导出器在渐变填充记录数为零时出现的异常。
修正了原始编辑器字段在边框与尺寸方面存在的问题
修正了 P-code 字符串末尾字符在转义还原时出现的异常。
对 FLOAT16 数值进行准确的编码与解码处理
保留未加符号的 EncodedU32 数值
保留不带符号的 AMF U32 数值
读取 AMF3 流时出现数据不完整的情形,需要加以处理
保持变形形状距离计算的对称性
让多项式化简的过程保持尺度不变特性
保持可寻址流位置的一致状态
修复了位图导出器在渐变描边不含任何记录时出现的异常。
修复了在字体缺少对应字符的情况下,复制 DefineEditText 文本时出现的异常问题
修正了弹窗与提示信息会意外消失的异常。
移除对 JApplet 的引用,以适配 Java 26 环境 (#2709)
修复了因标签克隆引发未知标签在导出时出现字节错误的问题
修复了十六进制转储中未知标签数据无法显示的问题
支持在标签列表内直接拖动标签进行排序调整 (#2712)
修复了多余且不必要的带标签页面跳转问题(#2763)
修复了另一处多余的带标签跳转问题(#2749)
修复文本标签转换时文本边界计算有误的问题(#2383)
PDF 导出功能在输出时会保留实际使用的控制字体字形,同时对字符串里出现的控制字节进行转义处理。
PDF 导出:`makePDFString` 处理反斜杠转义
修复了 DefineBitsJPEG4 里 `alphaDataOffset` 参数取值有误的问题
在 DefineMorphShape/2 里,偏移量字段会被用到。
PlaceObject3/4 在特定场景下可绕过对 `characterId` 的读取,并且已经加入了对类属性的支持。
扩展了对 GIF87a 格式的兼容能力
修复了 DefineBitsLossless2 在导入不含 Alpha 通道的图像时出现的异常。
修复了 DefineFunction 的编译异常,并为其引入寄存器备份机制(#2766)。
在 DefineButton(1) 里加入对滤镜与混合模式的兼容处理
AS3 编辑器:属性不可重名(#2576)
音频方面,可对无符号 PCM8 格式进行解码,同时调整了预览时序问题。
性能优化
AS3 编辑功能改进:名称解析逻辑得到优化(PR266)
AS:在“始终中断”检测的遍历流程中,把“可达性”的判定逻辑单独抽离出来(PR288)
(您的评论需要经过审核才能显示)
0条评论