我正在寻找一种方法,最好是一个命令行工具,为编译后的swf抽出.abc文件。我研究过asc.jar,但到目前为止,它似乎只能接受类,而不是编译的swfs。任何人都知道这样做的好方法?有没有办法将swf转换为.abc文件?
此过程的最终目标是使用Zwetan的RedTamarin项目在加载的swf中的某些特定类上运行describeType,但SecurityDomain存在并发症阻止我使用Loader.loadBytes。如果还有另一种好的方法来通过命令行来描述加载的swf中的类,我也会对该解决方案感兴趣。
干杯,
Ĵ
谢谢,grapefrukt,但这不是它*。它看起来像nemo,以及swfdump和flasm,只是弹出一个人类可读的字节码表示形式,而不是实际的.abc文件。在nemo列出的输入格式中,它列出了.swf(压缩和未压缩)和.abc,但为两者提供了相同的文本转储。我期待从.swf转换为.abc,不需要能够读取它:P – 2010-05-31 15:25:02
@Jeremy:SWF只是一个容器格式。据我所知,ABC的内容是不变的。只需抓住SWF规格并查看ABC如何嵌入。或者,你可以在'/ lib /'的flex sdk中用'-abc source.swf> out.abc'使用'swfdump'或'swfutils'。 – back2dos 2010-05-31 16:10:32
@ back2dos:看起来不是那么正确。由swfdump生成的sabc文件将与前面提到的一样,意味着可读。我正在谈论一个合法的.abc文件,如以下两篇文章中所述: http:// coderhump。com/archives/104 http://coderhump.com/archives/105 他使用的.abc文件可以通过asc从一个类生成,然后加载到Tamarin运行时。以这种方式创建一个.abc文件,并将它与来自swfdump,nero或flasm的文本转储进行比较,您将看到不同之处。 – 2010-05-31 20:31:32