4

是否有任何非官方规范解释如何对 Flash .FLA 文件进行逆向工程?

我对创建一个应用程序特别感兴趣,该应用程序可以以编程方式“自动场景规划”Flash 文档,从其他文件中提取内容,将内容排列成层,而无需打开 Flash IDE。然后,动画师将能够采用这些预先组装的 FLA 并开始为它们制作动画。我已经构建了一个执行此操作的 JSFL 脚本,但它运行非常缓慢,难以调试或重新调整用途。

4

4 回答 4

6

我花了几天时间在互联网上四处寻找,看看是否有任何事情要做,做一个逆向工程,但真的一无所获。我没有浮动的 .FLA 规范。这两天我一直在寻找。如果有,并且您正在使用它,您将收到来自 Adob​​e 的停止和终止信,然后是加拿大相当于 DMCA 的删除通知。

根据 Wikipedia,该格式是一种二进制格式,它基于 Microsoft Binary 复合文件格式规范,在 Wikipedia 上进行了描述。复合文件格式。但奇怪的是,我认为,欧洲反垄断和解迫使微软发布他们的规范意味着你可以下载 MS 复合文件格式,在这里通过在谷歌中输入微软复合文件格式。第一个条目是下载链接。

一旦你研究了它,那么你需要把一个工具集放在一起。有可能,MS 提供了可用于该格式的反编译器。如果没有,您可能需要 3 到 6 个月的时间才能获得一个基本规格。

在 90 年代初期,我对 Novell IPX 协议和 NCP 堆栈进行了逆向工程,这是一个向服务器发送消息并获得回复的案例。所以它相当机械和乏味,几个月后我们非常清楚需要什么,我们建立了 IPX 协议调用和回复的地图。与 NCP 相同。最终,Novell 联系了我们,向我们发出了停止通知并最终要起诉我们。但归根结底,他们失败了,因为我们使用的是Wikipedia Clean Rooms 解释的 Clean Room 技术。我们几乎将它从二进制服务器产品中分离出来,使用数据包分析器,并使用 C++ 对其进行了重建。但那是协议逆向工程。比你所反映的要容易得多。

因此,您需要的第一件事是反汇编程序。我不能给你任何关于使用什么的建议,但是那里有很多。获得格式并反汇编文件后,您必须尝试识别文件页眉、页脚、常量以及特殊符号序列之类的东西,这样您就可以开始创建地图了。例如,在 Windows 复合二进制文件格式的第 6 页上,它说 _absig 的签名格式为 DOCF 11E0 A1B1 1AE1。如果您可以在文件中找到此类信息,则启动地图。

但是在你去那个长度之前,看看他们是否是一个反编译器。我认为您在 Google 中找到的大多数反编译器可能都是轻量级的。去像这样的黑客组织。 裂纹Z。IDA 产品是一个反汇编程序。这可能会有所帮助。逆向工程简介逆向工程社区

希望有所帮助。如果你这样做,就去做。这将需要几个月的时间。坚持!

于 2009-10-05T23:22:22.837 回答
3

应该注意的是,所有保存在 CS5 或更高版本中的 FLA 文件现在在技术上都是使用开放 XFL 格式的 ZIP 文件。您实际上可以将 FLA 文件重命名为 ZIP 并解压缩。随后,Flash 支持直接保存为 XFL 格式。

XFL 格式是一种文件夹结构,由与典型 Flash 文件对应的文件和文件夹组成。其中包括用于库和二进制数据(图像、音频等)的文件夹,以及描述几何、动画等的 XML 文件。还有用于跟踪全局项目设置(如链接和导出设置)的 XML 文件.

最后,有一个 .XFL 文件作为整个结构的入口点。这是 Flash 在扫描文件夹以确定它们是否为 Flash XFL 项目时所查找的内容。

对于在动画工作室工作且需要从 Flash 外部制作场景计划文件的任何人,我强烈推荐这种格式。库、场景和其他连接都可以使用您希望的任何外部编程语言或工具以 XFL 格式以编程方式创建。

于 2012-11-14T10:08:02.473 回答
0

虽然没有官方文档,但这家伙至少在一些初步分析中尝试过

fla 格式 | 本杰明沃尔西.de http://benjaminwolsey.de/node/49

于 2010-03-05T10:49:06.197 回答
-1

您可能想检查 swf 文件规范: http: //www.adobe.com/devnet/swf/

于 2010-01-25T04:04:18.367 回答