注意:以下说明是针对Python3的。
如果您需要在Python2.7上安装Flashmingo,则可以在“版本”选项卡下查看版本1.0。安装步骤基本相同。
安装requirements.txt中列出的python3软件包。
您可以使用以下命令: pip3 install -r requirements.txt
如果您想使用二元功能,则需要安装jython。 Ubuntu/Debian用户可以发布apt install jython
克隆项目或下载zip文件。
Flashmingo是SWF文件的分析框架。该工具会自动将可疑的闪存文件分类并指导进一步的分析过程,从而释放团队中的宝贵资源。您可以轻松地将Flashmingo的分析模块纳入工作流程。
直到今天,法医调查人员和恶意软件分析师必须处理可疑的SWF文件。如果历史重复自己,安全威胁甚至可能会超出2020年Flash的生命终结。系统将继续支持不再使用安全补丁更新的旧文件格式。自动化是解决此问题的最佳方法,这是Flashmingo可以为您提供帮助的地方。 Flashmingo是一个分析框架,可自动处理SWF文件,使您能够标记可疑的闪存样本并以最少的精力进行分析。它将其集成到各种分析工作流程中,作为独立应用程序或功能强大的库。用户可以通过自定义Python插件轻松扩展工具的功能。
Flashmingo的设计考虑了简单性。它读取一个SWF文件并创建代表其内容和结构的对象( SWFObject )。之后,Flashmingo运行了一系列作用于此SWFObject插件,并将其值返回到主程序。
在强制性的ASCII艺术流程图下方:
+----------+
| |
+------------+----------->+ PLUGIN 1 +------------+
| | | | |
| | +----------+ |
| | |
| | +----------+ |
| | | | |
+---------+ | +----------->+ PLUGIN 2 +--------+ |
|SWF FILE +----------->+ FLASHMINGO | | | | |
+---------+ | | +----------+ | |
| | | |
| | | |
| | | |
| | +-----v---v-+
| | | |
| | | |
+-----+------+------------------------->+ SWFOBJECT |
^ | |
| | |
| +-----+-----+
| |
| |
| |
+---------------------------------------+
在您自己的项目中使用Flashmingo作为库时,您只需要照顾两种对象:
SWFObject (s),代表样本Flashmingo对象。这基本上是连接插件和SWFObject线束。 Flashmingo插件存储在其自己的目录中...您猜对了: plugins实例Flashmingo时,它可以通过此目录并处理所有插件的清单。如果这表明插件处于活动状态,请注册以供以后使用。在代码级别上,这意味着将小plugin_info词典添加到plugins列表中。
插件通过run_plugin API调用,并具有两个参数:
SWFObject实例可选地,大多数插件允许您传递自己的用户数据。这是依赖插件的(阅读文档),可以更容易地用一个示例来解释。默认插件SuspiciousNames将搜索所有常数池中包含可疑子字符串的字符串(例如:'溢出',“喷雾”,“ shell”等)。插件中已经对其进行了硬编码的常见子字符串列表,以便可以使用as-is 。但是,在这种情况下,您可以通过names参数传递自己定义的子字符串的列表。
代码示例:
fm = Flashmingo ()
print fm . run_plugin ( 'DangerousAPIs' , swf = swf )
print fm . run_plugin ( 'SuspiciousNames' , swf = swf , names = [ 'spooky' ])Flashmingo船上有一些有用的插件开箱即用:
提供了一个模板插件,以方便开发。扩展Flashmingo非常简单。遵循以下简单步骤:
run方法你准备去:)
docs目录以获取自动化文档$ pip install sphinxcontrib-napoleon
设置狮身人面像建立文档后,在sphinx conf.py文件中启用拿破仑:
在conf.py中,将拿破仑添加到扩展名列表中
extensions = ['sphinxcontrib.napoleon']
使用phinx-apidoc构建您的API文档:
$ sphinx-apidoc -f -o docs/source projectdir
这将创建.rst文件以使狮身人面
$ make html
就是这样! :)