检测Flash是否需要网络连接。

3

有没有办法找到特定的Flash文件是否需要网络?我们计划为所有Flash资产设置“allowNetworking”“none”(我们有非常大量的资产,因此开始/嗅探不起作用),但必须找出哪些可能会受到影响。


我不明白为什么你想这样做,因为如果一个SWF需要网络才能正常工作,你应该允许网络,否则就没有问题!你能解释一下为什么你需要这样做吗?也许你正在使用外部SWF并且出于某些安全原因你需要这样做,我不知道... - akmozo
是的,外部SWF文件,出于安全原因也是这样。@akmozo - zb'
你在我的已删除的答案评论中提出的反编译和 grep 的想法怎么样了?我将其删除,因为似乎你已经找到了自己的解决方案... - VC.One
1个回答

0

使用ActionScript反编译器并检查输出的网络调用(例如,任何对flash.net.Socket的引用)。

我有良好经验的反编译器是:https://github.com/jindrapetrik/jpexs-decompiler

虽然他们的主要软件包是GUI应用程序,但代码是开源的,因此您可以在其库周围构建批处理工具。请注意,此库支持“仅反汇编”模式,在此模式下,您将看到导入但不会浪费时间反编译任何方法体。检查flash.net.Socket的导入可能足够了尽职调查。

如果您的库之间存在依赖关系,则需要自行跟踪它们。不幸的是,如果库太通用(例如,用于处理Socket但也用于数学的通用实用程序库),这种方法将导致大量误报。


引用问题:“...我们有非常多的文件,因此启动/嗅探不起作用。” 启动/运行每个文件并嗅探网络将是一项漫长的任务。在早期答案中有一些评论提到了成千上万个SWF文件。 - VC.One

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接