现有哪些工具和技术可以反编译或分析SWF文件中的字节码?反向工程师可以使用哪些资源来了解有关SWF内部的更多信息?

评论

哪个版本的ActionScript? AS存在两个完全不同的虚拟机。您应该指定。对于初学者,我建议您阅读该标准,它确实有帮助,但也可能导致头发拉扯和其他奇怪的反射。

有趣的问题。谁能概述Flash RE主题上的可用信息?论文等将不胜感激。

#1 楼

有一个很好的工具漏洞,它是开源的,并且包含闪存汇编程序和反汇编程序。 Flare是免费的,但是是封闭源代码,并且包含Flash反编译器。看起来两者都已被放弃(2007年的最新更新),并且不支持ActionScript 3,但是也许有人可以对其进行扩展。

评论


与un更新一样,Flare for Mac的当前版本仅适用于PowerPC。

–baordog
2015年2月3日,19:14

apt-get install flasm可以运行,并且该程序易于使用。会推荐。

–吕克
16-3-15在7:41



#2 楼

首先,我建议您通读SWF文件格式和ActionScript的规范。我不建议您阅读所有内容(它确实很无聊)。仅前三,四章。这将有助于为结构和关键字奠定基础。这是我推荐的两个。

SWF文件格式PDF,ActionScript虚拟机2(AVM2)概述PDF

一旦您具有知识基础,请查看有关Flash Exploits的一些文章。以下是没有特定顺序或值1、2、3、4、5、6、7的帖子列表。搜索RE Reddit也是SWF / Flash分析的另一种很好的资源。

漏洞利用社区为逆向工程SWF / ActionScript / Flash / etc做了大量或多或少的伟大工作。我建议谷歌跟踪他们的工作。李海飞是一位著名人物。谷歌快速搜索文件类型:PDF +“ Haifei Li”将带来大量有用的资源。示例:链接。

如果您讨厌阅读,建议您下载一些样本。 Contagiodump是一个获取样本的好地方。通常,样品具有正确的CVE编号。这可能会有所帮助,因为CVE-number +“ analysis”的快速Google搜索将使您可以在家进行后续版本。当然,您将需要工具。我个人会推荐Lenny Zeltser的REMnux。此线程中列出的几乎所有工具都已安装在其中。如果您使用嵌入在文档中的SWF,我建议您提取xxxswf.py。源代码没有那么糟糕的注释,因此它将为您提供有关文件结构的一些基础知识。免责声明:我的工具。

Trillix和Yogoda推荐的一些未列出的工具是Flash Decompiler。这两个工具都适用于Windows。

#3 楼

曾经使用SWFWire调试器从Flash游戏中提取AES密钥。它可以在执行时跟踪功能及其参数。我觉得这很有帮助。

评论


其网站上提到需要Adobe Flash Player。这告诉我该应用实际上是渲染/播放闪光灯,这可能很危险。您知道它是否呈现SWF吗?

– Lizz
13年4月4日在5:32

是的,它确实。它是一个调试器,而不是静态分析工具,因此它将运行SWF。但这对于动态分析真的很好。

– Samuirai
13年4月4日在8:19

@Lizz在同一网站上,SWFWire还提供了静态分析反编译器。我曾经非常成功地使用它来反编译SWF。

– BlueRaja-Danny Pflughoeft
16年6月30日在20:03



#4 楼

请查看Sebastian Porst的工作[1](特别是查看/ slides目录以获取概述,然后可以从根目录找到其余代码)。

[1] https:// github.com/sporst/SWFREtools

#5 楼

有一个IDA Pro插件,可让您像任何其他可执行文件一样反汇编SWF文件。

#6 楼

已经有很多工具可以做到这一点,只是需要对谷歌进行快速搜索。 -get-actionscript-from-dynamic-linked-as-file“

Gnash和Lightspark是Flash的开源实现,应该很有趣。

#7 楼

我过去曾使用SWFTools(http://www.swftools.org)软件包进行swf文件分析。

该软件包中的swfextract工具允许您从swf文件中提取各种工件。 。

同一软件包中的swfdump工具可以反汇编所有版本的ActionScript(v1-3)。 swfdump的优点在于,它将以人类可读的p代码格式显示输出,这对分析非常有帮助。 。我没有使用它们的经验,也无法推荐它们的工作效果。

#8 楼

如果您主要关心原始代码,我可以建议您RABCDAsm

https://github.com/Cyber​​Shadow/RABCDAsm

这将生成非常有用的Actionscript字节码,并且允许您将其修补。

#9 楼

我真的很喜欢Sothink的Flash反编译器。尽管这是商业用途,但如果您偶尔对反向工程Flash文件进行反向备份,确实值得。不是免费工具),可让您修改和运行SWF文件以及创建修改后的SWF版本,允许编辑所有资源类型(而不仅仅是代码),并具有功能齐全的功能完善的GUI。