Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/mandiant/flashmingo
静态分析动态分析 (沙盒)漏洞分析逆向工程脚本与自动化取证分析恶意软件分析二进制分析学习与教育Archived
GitHubmandiant/flashmingo

flashmingo

基于一些启发式规则自动分析SWF文件。可通过插件扩展。

1203677年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

FLASHMINGO

安装

注意:以下说明适用于 Python3。

如果您需要在 Python2.7 上安装 FLASHMINGO,可以查看 releases 标签下的 1.0 版本。安装步骤基本相同。

安装 requirements.txt 中列出的 Python3 包。

您可以使用以下命令:pip3 install -r requirements.txt

如果您想使用反编译功能,则需要安装 Jython。Ubuntu/Debian 用户可执行 apt install jython

克隆项目或下载 zip 文件。

是什么

FLASHMINGO 是一个用于分析 SWF 文件的框架。该工具自动分类可疑的 Flash 文件,并引导进一步的分析过程,从而节省团队中的宝贵资源。您可以轻松地将 FLASHMINGO 的分析模块集成到您的工作流程中。

为什么

直到今天,取证调查人员和恶意软件分析师仍需处理可疑的 SWF 文件。如果历史重演,安全威胁甚至可能在 2020 年 Flash 生命周期结束后变得更加严重。系统将继续支持一种不再接收安全补丁更新的遗留文件格式。自动化是处理这一问题的最佳方式,而 FLASHMINGO 可以为您提供帮助。FLASHMINGO 是一个分析框架,可自动处理 SWF 文件,使您能够以最小的努力标记可疑的 Flash 样本并进行分析。它既可作为独立应用程序,也可作为功能强大的库,集成到各种分析工作流程中。用户可以通过自定义 Python 插件轻松扩展工具的功能。

工作原理

架构

FLASHMINGO 的设计以简洁为理念。它读取一个 SWF 文件,创建一个表示其内容和结构的对象(SWFObject)。之后,FLASHMINGO 运行一系列插件,这些插件作用于 SWFObject,并将它们的值返回给主程序。

下面是必要的 ASCII 艺术流程图:

root@kitploit:~
                                                 +----------+
                                                 |          |
                       +------------+----------->+ PLUGIN 1 +------------+
                       |            |            |          |            |
                       |            |            +----------+            |
                       |            |                                    |
                       |            |            +----------+            |
                       |            |            |          |            |
+---------+            |            +----------->+ PLUGIN 2 +--------+   |
|SWF FILE +----------->+ FLASHMINGO |            |          |        |   |
+---------+            |            |            +----------+        |   |
                       |            |                                |   |
                       |            |                                |   |
                       |            |                                |   |
                       |            |                          +-----v---v-+
                       |            |                          |           |
                       |            |                          |           |
                       +-----+------+------------------------->+ SWFOBJECT |
                             ^                                 |           |
                             |                                 |           |
                             |                                 +-----+-----+
                             |                                       |
                             |                                       |
                             |                                       |
                             +---------------------------------------+

当在您自己的项目中将 FLASHMINGO 作为库使用时,您只需要处理两类对象:

  • 一个或多个 SWFObject,表示样本
  • 一个 Flashmingo 对象。这本质上充当了一个连接插件和 SWFObject 的框架。

插件!

FLASHMINGO 插件存储在各自的目录中,位于……您猜对了:plugins 当 Flashmingo 对象被实例化时,它会遍历此目录并处理所有插件的清单。如果清单指示该插件处于活动状态,则将其注册以供后续使用。在代码层面,这意味着一个小的 plugin_info 字典被添加到 plugins 列表中。

插件通过 run_plugin API 调用,该 API 有两个参数:

  • 插件名称
  • SWFObject 实例

可选地,大多数插件允许您传递自己的 用户数据。这取决于具体的插件(请阅读文档),通过一个例子可以更轻松地解释。 默认插件 SuspiciousNames 会在所有常量池中搜索包含可疑子字符串(例如:'overflow'、'spray'、'shell' 等)的字符串。插件中已经硬编码了一个常见子字符串的列表,因此可以直接使用。但是,您可以通过 names 参数传递自己定义的子字符串列表。

代码示例:

root@kitploit:~
fm = Flashmingo()
print fm.run_plugin('DangerousAPIs', swf=swf)
print fm.run_plugin('SuspiciousNames', swf=swf, names=['spooky'])

默认插件

FLASHMINGO 内置了一些有用的插件:

  • binary_data
  • dangerous_apis
  • decompiler
  • suspicious_constants
  • suspicious_loops
  • suspicious_names
  • template :)

扩展 FLASHMINGO

提供了一个模板插件,便于开发。 扩展 FLASHMINGO 非常简单。只需按照以下步骤操作:

  • 复制模板
  • 编辑清单
  • 覆盖 run 方法
  • 添加您自己的代码

您就可以开始使用了 :)

作为库使用 FLASHMINGO

API

  • 查看 docs 目录以获取自动生成的文档
  • 查看 FireEye 的博客文章以获取示例

前端

  • 控制台

创建文档

$ pip install sphinxcontrib-napoleon

在设置 Sphinx 构建文档后,在 Sphinx 的 conf.py 文件中启用 napoleon:

在 conf.py 中,将 napoleon 添加到扩展列表中

extensions = ['sphinxcontrib.napoleon']

使用 sphinx-apidoc 构建您的 API 文档:

$ sphinx-apidoc -f -o docs/source projectdir

这将创建 .rst 文件供 Sphinx 处理

$ make html

就是这样!:)

下载工具