公司动态
如何使用 Flash 反编译器:把旧 SWF 变成图片、声音和可编辑代码
如何使用 Flash 反编译器把旧 SWF 变成图片、声音和可编辑代码【免费下载链接】jpexs-decompilerJPEXS Free Flash Decompiler项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler手头有一份 2010 年前后的 SWF 游戏想把它里面的角色图片和背景音乐抠出来。通用图片工具做不到因为图像、声音和脚本都以二进制标签的形式存在 SWF 内部必须用 Flash 反编译器解析。JPEXS Free Flash Decompiler简称 FFDec就是这样一款开源工具通过 Java 运行在 Windows、macOS 和 Linux 上能提取 SWF 资源、反编译 ActionScript 代码还能修改内容并另存。能力速览任务类型FFDec 做的事SWF 资源提取把文件里的位图、矢量形状、声音、字体、文本批量导出ActionScript 反编译把 AS2/AS3 字节码还原成可读源码并与指令对照编辑与替换修改文本、替换图片、调整时间线另存为新 SWF批量与转换命令行模式无界面批量处理支持 SWF 转 FLA跑起来的最短路径环境要求一句话装好 Java 8 或更高版本即可没有其他依赖。两种启动方式选一种到项目的 Releases 页面下载对应平台的安装包Windows或 zip 包Linux/macOS安装或解压后运行启动器。克隆源码后用 Ant 直接运行git clone https://gitcode.com/gh_mirrors/jp/jpexs-decompiler ant run启动后通过菜单File→Open打开任意 SWF。没有测试文件也没关系仓库的测试数据目录libsrc/ffdec_lib/testdata里自带 as2.swf、as3.swf 等样例打开它们就能先练手。功能拆解反编译界面ActionScript 代码在哪看打开 SWF 后主界面左侧是资源树把文件里的角色、脚本、时间线条目列成层级。展开脚本节点AS3 文件在 ABC 节点下双击某个类中间区域就显示反编译后的源码。这张截图里左侧是文件树中间是还原出来的 AS3 源码。点击某一行代码可以在视图间跳转到对应的 P-code 字节码。读不懂某段逻辑时对照两侧看指令和语句的对应关系比单看源码快得多。如何把 SWF 里的图片和声音导成文件顶部菜单栏选择File→Export进入导出对话框勾选要导出的资源类型再选一个保存目录。对话框中每个条目对应一类可导出的内容位图可存为 PNG 等格式矢量形状还能导出为 SVG。点确定后 FFDec 逐个写入磁盘不用对每个资源单独操作。文件里的文本和时间线怎么改在资源树中选中一个文本标签会打开文本编辑面板直接改文字内容、字体和字号。画面右侧是文字内容和排版属性改完左边的即时预览会同步刷新。要看动画结构切换到时间线视图每一行是一个图层关键帧以圆点标出。点击某个帧右侧预览区就显示那一帧的画面方便确认某个资源出现在动画的哪个位置。实战走查从一个游戏 SWF 里拆出素材包走一遍最常见的任务把游戏里的图片和声音全部导出顺手改一句文本再保存。打开 SWF加载完成后左侧树列出了全部角色、声音和文本。先展开角色文件夹全选其中的图片项通过导出菜单批量保存图像文件就落盘了声音同理选声音类型即可。然后找到要改的文本节点双击打开编辑面板修改内容并确认。最后用File→Save As把改动写入新文件原文件保持不变。整个过程就是选中、导出、另存三个动作不需要懂 SWF 的内部结构。新手容易踩的坑文件打不开或报错后缀是 .swf 的文件实际可能是改名的 HTML 包装页或 RSWF 等特殊变体。先看文件头确认是不是标准 SWF不是就先转换再打开。反编译代码里全是 r0、r1、class_0 这类名字类文件没有调试信息或编译时剥离了标识符。启用 FFDec 的标识符恢复反混淆选项命名会明显好转。高分屏上界面过小或发虚界面缩放比例没有设对。在配置里手动指定缩放比例较新版本启动时会自动重新检测缩放更新版本后重启程序即可。下一步入口中文说明与功能列表README_zh.md主程序与反编译库源码src/com/jpexs/decompiler/flash/、libsrc/ffdec_lib/可练习的样例 SWFlibsrc/ffdec_lib/testdata/各版本变更记录CHANGELOG.md【免费下载链接】jpexs-decompilerJPEXS Free Flash Decompiler项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考