是否有任何非官方规范解释如何对 Flash .FLA 文件进行逆向工程?
我对创建一个应用程序特别感兴趣,该应用程序可以以编程方式“自动场景规划”Flash 文档,从其他文件中提取内容,将内容排列成层,而无需打开 Flash IDE。然后,动画师将能够采用这些预先组装的 FLA 并开始为它们制作动画。我已经构建了一个执行此操作的 JSFL 脚本,但它运行非常缓慢,难以调试或重新调整用途。
是否有任何非官方规范解释如何对 Flash .FLA 文件进行逆向工程?
我对创建一个应用程序特别感兴趣,该应用程序可以以编程方式“自动场景规划”Flash 文档,从其他文件中提取内容,将内容排列成层,而无需打开 Flash IDE。然后,动画师将能够采用这些预先组装的 FLA 并开始为它们制作动画。我已经构建了一个执行此操作的 JSFL 脚本,但它运行非常缓慢,难以调试或重新调整用途。
我花了几天时间在互联网上四处寻找,看看是否有任何事情要做,做一个逆向工程,但真的一无所获。我没有浮动的 .FLA 规范。这两天我一直在寻找。如果有,并且您正在使用它,您将收到来自 Adobe 的停止和终止信,然后是加拿大相当于 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 产品是一个反汇编程序。这可能会有所帮助。逆向工程简介。逆向工程社区
希望有所帮助。如果你这样做,就去做。这将需要几个月的时间。坚持!
应该注意的是,所有保存在 CS5 或更高版本中的 FLA 文件现在在技术上都是使用开放 XFL 格式的 ZIP 文件。您实际上可以将 FLA 文件重命名为 ZIP 并解压缩。随后,Flash 支持直接保存为 XFL 格式。
XFL 格式是一种文件夹结构,由与典型 Flash 文件对应的文件和文件夹组成。其中包括用于库和二进制数据(图像、音频等)的文件夹,以及描述几何、动画等的 XML 文件。还有用于跟踪全局项目设置(如链接和导出设置)的 XML 文件.
最后,有一个 .XFL 文件作为整个结构的入口点。这是 Flash 在扫描文件夹以确定它们是否为 Flash XFL 项目时所查找的内容。
对于在动画工作室工作且需要从 Flash 外部制作场景计划文件的任何人,我强烈推荐这种格式。库、场景和其他连接都可以使用您希望的任何外部编程语言或工具以 XFL 格式以编程方式创建。
虽然没有官方文档,但这家伙至少在一些初步分析中尝试过
fla 格式 | 本杰明沃尔西.de http://benjaminwolsey.de/node/49
您可能想检查 swf 文件规范: http: //www.adobe.com/devnet/swf/