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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Vba2Graph — Vba2Graph - 从VBA代码生成调用图,以便更轻松地分析恶意文档。 | Kitploit
工具/GitHubGitHub/malwarecantfly/vba2graph
静态分析代码分析逆向工程恶意软件分析
GitHubmalwarecantfly/vba2graph

Vba2Graph

Vba2Graph - 从VBA代码生成调用图,以便更轻松地分析恶意文档。

查看仓库
283455年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Vba2Graph

一款面向安全研究人员的工具,帮助他们节省分析恶意Office宏的时间。

生成VBA调用图,并高亮显示潜在恶意关键词。

支持快速分析恶意宏,轻松理解执行流程。

@MalwareCantFly

功能特性

  • 关键词高亮
  • 支持VBA属性
  • 支持外部函数声明
  • 处理带有"_Change"执行触发器的恶意宏
  • 炫彩配色方案!

优点

    ✓ 非常快

    ✓ 对大多数野外恶意宏表现良好

缺点

    ✗ 静态分析(动态解析的调用无法识别)

示例

示例1:

Trickbot下载器——利用对象Resize事件作为初始触发,随后触发TextBox_Change。

示例1

示例2:

示例2

更多案例请查看 Examples 文件夹。

安装

安装 oletools:

root@kitploit:~
https://github.com/decalage2/oletools/wiki/Install

安装 Python 依赖

root@kitploit:~
pip3 install -r requirements.txt

安装 Graphviz

Windows

安装 Graphviz:

root@kitploit:~
https://graphviz.gitlab.io/download/#windows

将 "dot.exe" 添加到 PATH 环境变量,或直接运行:

root@kitploit:~
set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin

Mac

root@kitploit:~
brew install graphviz

Ubuntu

root@kitploit:~
sudo apt-get install graphviz

Arch

root@kitploit:~
sudo pacman -S graphviz

使用方法

root@kitploit:~
usage: vba2graph.py [-h] [-o OUTPUT] [-c {0,1,2,3}] (-i INPUT | -f FILE)

optional arguments:
  -h, --help            显示帮助信息并退出
  -o OUTPUT, --output OUTPUT
                        输出文件夹(默认:"output")
  -c {0,1,2,3}, --colors {0,1,2,3}
                        配色方案编号 [0, 1, 2, 3](默认:0 - 黑白)
  -i INPUT, --input INPUT
                        olevba 生成的文件或 .bas 文件
  -f FILE, --file FILE  包含宏的 Office 文件

使用示例(所有平台)

请注意,在 Releases 中有一个 Python 2 版本,但已不再维护。

root@kitploit:~
# 直接从包含宏的 Office 文件生成调用图 [感谢 @doomedraven]
python3 vba2graph.py -f malicious.doc -c 2    

# 使用 olevba 生成 VBA 代码,然后通过管道传给 vba2graph
olevba3 malicious.doc | python3 vba2graph.py -c 1

# 从 VBA 代码生成调用图
python3 vba2graph.py -i vba_code.bas -o output_folder

输出

你会在输出文件夹中得到 4 个子文件夹:

  • png: 你想要的图形图像
  • svg: 同上的矢量图形
  • dot: 用于生成图形的 dot 文件
  • bas: 脚本识别的 VBA 函数代码(用于调试)

批量处理

Mac/Linux:

batch.sh 脚本文件用于在一个输入文件夹中对恶意文档运行 olevba 和 vba2graph。

会删除 output 目录,请谨慎使用。

许可

本项目代码基于 EPL-2.0 许可 授权。

本项目使用了以下第三方开源工具和库,请留意它们各自的许可协议。

  • oletools (许可)
  • networkx (许可)
  • pydot (许可)
  • graphviz (许可)
下载工具