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 的海量数据集中对代码、字节和字符串执行高级搜索。 ![代码相似性可视化](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c6f19363e4124121.gif) 2. **Code Insight 笔记本**:利用 VirusTotal 的 Code Insight 获取函数的摘要和描述。在 IDA 侧边栏的持久化、可共享笔记本中记录您的发现。 ![Code Insight 笔记本可视化](https://raw.githubusercontent.com/VirusTotal/vt-ida-plugin/master/images/main_window_menu.png) ## 功能特性 ### 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, 二进制分析, 云安全运维, 云资产清单, 代码搜索, 代码相似度, 函数摘要, 反汇编, 威胁情报, 字节搜索, 开发者工具, 恶意代码分析, 情报收集, 插件, 漏洞研究, 网络安全, 自动化分析, 跨站脚本, 逆向工具, 逆向工程, 配置文件, 隐私保护