VirusTotal/vt-ida-plugin
GitHub: VirusTotal/vt-ida-plugin
IDA Pro官方VirusTotal插件,集成代码相似性搜索和AI驱动的Code Insight功能,帮助逆向工程师快速理解和关联恶意代码。
Stars: 179 | Forks: 29
# IDA Pro 版 VirusTotal 插件
这是 Hex-Rays IDA Pro 的官方 VirusTotal 插件。它将 VirusTotal 强大的分析功能无缝集成到您的逆向工程工作流中。
该插件提供两个核心功能:
1. **代码相似性搜索**:直接从 IDA 的反汇编和字符串视图,在 VirusTotal 的海量数据集中对代码、字节和字符串执行高级搜索。

2. **Code Insight 笔记本**:利用 VirusTotal 的 Code Insight 获取函数的摘要和描述。在 IDA 侧边栏的持久化、可共享笔记本中记录您的发现。

## 功能特性
### Code Insight 笔记本
Code Insight 笔记本是一个强大的功能,位于其独立的可停靠面板中(`View -> Open subviews -> VirusTotal`)。
- **Code Insight 分析**:为任何函数(反汇编或反编译)请求 AI 生成的摘要和详细描述。
- **持久化工作区**:所有分析都保存在一个“笔记本”中,可在 IDA 会话之间重新加载。
- **编辑与优化**:您可以编辑 AI 生成的分析以进行更正,或添加您自己的见解。
- **自动注释**:自动用分析摘要填充 IDA 的函数注释,应用于笔记本中的所有函数。
- **导入/导出**:通过将笔记本导出为 JSON 文件与同事分享您的分析,或导入一个笔记本以快速了解共享的二进制文件。
### 代码相似性搜索(右键上下文菜单)
从**反汇编视图 (Disassembly View)**:
- **Search for bytes**:在 VirusTotal 中对选定的序列执行原始字节搜索。
- **Search for similar code**:通过通配符化内存地址和偏移量来搜索功能相似的代码。
- **Search for similar code (strict)**:上述功能的更激进版本,也会通配符化所有立即数(常量)。
- **Search for similar functions**:自动检测当前函数的边界并搜索相似函数,因此您无需手动选择。
从**字符串视图 (Strings View)**:
- **Search for string**:在 VirusTotal 中搜索选定的字符串。
## 系统要求
- **IDA Pro**:已在版本 8 或更高版本上测试。请注意,IDA Pro v9.2+ 需要 PySide6。
- **Python**:使用带有 requests 模块的 Python 3.x 版本。建议使用 3.9 及更高版本。
- **VirusTotal API Key**:使用 Code Insight **需要**有效的 VirusTotal API 密钥。VTGrep 搜索依赖于您 Web 浏览器中活动的 VirusTotal Enterprise 会话。
## 安装说明
1. 为 Python 安装 `requests` 模块:
$ pip install requests
2. 将整个 `plugins/virustotal` 目录复制到您的 IDA Pro 插件文件夹中。
| OS | 默认插件路径 |
| ------- | ------------------------------- |
| Linux | `/opt/ida-pro-X.X/plugins` |
| macOS | `~/.idapro/plugins` |
| Windows | `%ProgramFiles%\IDA Pro X.X\plugins`|
3. 启动 IDA Pro。
## 配置
### 首次运行
首次运行时,插件会征询您的同意,以自动将样本上传到 VirusTotal。此选择会保存在配置文件中。
- **OK**:同意条款并为 VirusTotal 上未找到的文件启用自动上传。
- **No**:禁用自动上传。
- **Cancel**:为当前会话禁用插件。
### API Key
要使用 **Code Insight** 功能,您必须将 VirusTotal API 密钥添加到配置文件中:
1. 找到配置文件:`[USER_IDA_DIR]/plugins/virustotal/config.py`
2. 打开文件并添加您的密钥:
API_KEY = 'YOUR_VT_API_KEY_HERE'
插件会在您的用户 IDA 目录中创建一个 `virustotal.conf` 文件(例如 Windows 上的 `%APPDATA%\Hex-Rays\IDA Pro` 或 macOS/Linux 上的 `~/.idapro`)来存储您的偏好设置。
## 使用方法
### Code Insight 笔记本
1. 通过 `View -> Open subviews -> VirusTotal` 打开面板。
2. 在 IDA 反汇编或反编译器视图中,将光标放在函数内。
3. 右键单击并选择 `VirusTotal -> Ask Code Insight`,或直接点击 `Code Insight Notebook` 面板中的 `Ask CI` 按钮。
4. 分析将显示在 VirusTotal 面板中。您现在可以:
- 编辑摘要或描述。
- 点击 **Accept** 将分析(包括您的编辑)保存到笔记本。
- 点击 **Discard** 删除分析。
- 点击 **Autocomment** 将所有保存的分析作为注释添加到 IDA 中各自的函数。
### 代码相似性搜索
1. 在反汇编或字符串视图中,选择一段代码或字符串。
2. 右键单击并在 `VirusTotal` 菜单下选择所需的搜索选项。
3. 将在您的默认 Web 浏览器中打开一个新标签页,显示 VTGrep 搜索结果。
### 使用示例
在这篇 VirusTotal 博客文章中,我们通过实际示例演示了如何充分利用该工具:
https://blog.virustotal.com/2025/08/integrating-code-insight-into-reverse.html
## 支持的架构
“Search for similar code”功能在以下处理器架构上得到完全支持:
- **Intel x86/x64** (metapc)
- **ARM**
虽然其他架构可能可以工作,但尚未经过官方测试。原始字节和字符串搜索适用于所有架构。
请查看 IDA Pro 的输出窗口,了解任何可能需要您注意的消息。
## 更新日志
- v1.08 :增加了通过 IDA Pro 插件管理器进行配置的支持 (kevimuoz)。
- v1.07 :改进了错误处理,现在 CodeInsight 可用于 IDA Pro 识别的其他 CPU 架构。
- v1.06 :更新了插件元数据以支持 HCLI Plugin Manager 生态系统。
- v1.05 :修复了 Code Insight 返回无效响应时的崩溃问题。
- v1.04 :修复了在执行查询时导致 IDA 挂起的问题。
- v1.03 :修复了 BUG(错误显示无效 api key 消息)。
- v1.02 :增加了对 IDA Pro 9.2 的支持
- v1.00 :增加了 Code Insight 面板。
- v0.11 :增加了对 IDA Pro 8.x 的支持
- v0.10 :初始发布。
标签:AI 辅助分析, Ask搜索, Hex-Rays, IDA Pro, LLM, Unmanaged PE, VirusTotal, Wayback Machine, 二进制分析, 云安全运维, 云资产清单, 代码搜索, 代码相似度, 函数摘要, 反汇编, 威胁情报, 字节搜索, 开发者工具, 恶意代码分析, 情报收集, 插件, 漏洞研究, 网络安全, 自动化分析, 跨站脚本, 逆向工具, 逆向工程, 配置文件, 隐私保护