WPeace-HcH/WPeGPT
GitHub: WPeace-HcH/WPeGPT
一款集成大语言模型的 IDA 插件,通过 AI 自动分析反编译伪代码以辅助二进制逆向工程与漏洞挖掘。
Stars: 1383 | Forks: 195
**English | [中文](./README.ZH_CN.md)**
# WPeGPT
一款将 AI (LLM) 模型集成到二进制分析工作流中的 **IDA 插件**。WPeGPT 会将 IDA 反编译的伪代码发送给 AI 模型,并将分析结果作为 IDA 注释写回。支持多种 AI 提供商(OpenAI、DeepSeek 以及任何兼容 OpenAI 的 API)。
灵感来源于 [Gepetto](https://github.com/JusticeRage/Gepetto)。
## 功能
### 交互式分析 (IDA 插件)
| 功能 | 描述 |
|---------|-------------|
| 函数分析 | 分析函数的用途、使用环境和行为 |
| 变量重命名 | AI 建议重命名函数变量 |
| Python 还原 | 在 Python 中重构小型函数(例如,XOR 解密) |
| 漏洞挖掘 | 识别当前函数中的潜在漏洞 |
| 漏洞利用生成 | 尝试为存在漏洞的函数生成 PoC 漏洞利用代码 |
### 自动化分析 (WPeServer + Controller)
v3.0 引入了基于 **TCP 的架构**,用于完全自动化的无头二进制分析:
- **WPeServer** — IDA 内部的一个嵌入式 TCP 服务器,接收来自外部 controller 的命令。支持多个并发 IDA 实例。
- **三阶段分析 Pipeline** — 有针对性的分段智能分析。
- **三种分析模式:**
| 模式 | 描述 | 时间 |
|------|-------------|------|
| `light` | 全局扫描 + 关键路径函数分析 | ~2-5 分钟 |
| `full` | 全局扫描 + 关键路径 + 全函数分析 | ~10-30 分钟 |
| `vuln` | 关键路径函数漏洞分析 | ~5-20 分钟 |
- **智能字符串分类** — 自动将字符串分为 10 类:网络、键盘记录、加密、注入、持久化、反分析、释放器、代码执行、内存/文件操作、安装框架。
- **网络 IoC 提取** — 提取 IP、域名、URL 和端口。自动检测并尝试解密加密的 C2 地址。
- **函数可疑度评分** — 根据关键字匹配、调用者/被调用者关系、大小和 stdlib 过滤对函数进行排序,以优先进行 AI 分析。
- **Shellcode 加载器检测** — 基于模式匹配检测 shellcode 执行技术。
- **结构化报告** — 输出 JSON 和 Markdown 报告到 `_WPeAI_Results/`。
## 更新历史
|版本|日期|说明|
|----|----|----|
|1.0|2023-02-28|基于 Gepetto。|
|1.1|2023-03-02|1. 删除了分析加解密的功能。
2. 增加了 Python 还原功能。
3. 修改了一些细节。| |1.2|2023-03-03|1. 增加了在函数中查找二进制漏洞的功能。
2. 增加了尝试自动生成相应 EXP 的功能。
3. 修改了一些细节。
(由于 OpenAI 服务器卡顿,未对上传进行测试)| |2.0|2023-03-06|1. 完成了对 *v1.2* 版本漏洞相关功能的测试。
2. 切换到 OpenAI 发布的最新 **gpt-3.5-turbo** 模型。| |2.1|2023-03-07|修复了 OpenAI-API 超时问题。(参见 ***关于 OpenAI-API 错误报告*** 章节)| |2.3|2023-04-23|添加 **Auto-WPeGPT v0.1** 以支持二进制文件的自动化分析。
(从此版本开始需要添加 *anytree* 包,使用 *requirements.txt* 或 *pip install anytree*)| |2.4|2023-11-10|1. 更改了一些显示细节。
2. 更新 **Auto-WPeGPT v0.2**。| |2.5|2024-08-07|1. 增加了对其他模型的支持,您可以使用 *MODEL* 变量进行设置。 @tpsnt
2. 支持新版本的 python openai 包。(需要更新您的 openai 包)| |2.6|2025-02-17|增加对 DeepSeek 的支持,您需要将变量 *PLUGIN_NAME* 设置为 WPeChat-DeepSeek 并将 API KEY 填入变量 *model_api_key*。
(默认模型为 DeepSeek-V3。如果您想使用 R1 模型,请修改变量 **MODEL** = *'deepseek-reasoner'*。)| | **3.0** | **2026-05-27** | **更名为 WPeGPT。完成架构重新设计:**
1. 拆分为模块化架构(`WPeGPT.py` + `config.py` + `wpe_ai_controller.py`)。
2. 引入 **WPeServer**(TCP 命令服务器)用于外部 AI 驱动的自动化。
3. **三阶段分析 pipeline**(全局扫描 → 关键路径 → 全面扫描)。
4. **三种分析模式**(light / full / vuln)。
5. 智能字符串分类(10 个类别)和网络 IoC 提取。
6. 带有 stdlib 过滤的函数可疑度评分系统。
7. Shellcode 加载器检测。
8. 结构化 JSON + Markdown 报告生成。 | ## 安装 ### 1. 安装依赖 ``` pip install -r ./requirements.txt ``` ### 2. 配置 编辑 `WPeGPT_Config/config.py`: - 设置您的 `API_KEY` - 设置 `API_BASE_URL` - 设置 `MODEL` - 设置 `ZH_CN = True` 输出中文(默认),`False` 输出英文 - 可选配置 `ANALYSIS_MODE`、`MAX_WORKERS` 等其他选项 ### 3. 安装插件 将 `WPeGPT.py` 和 `WPeGPT_Config/` 文件夹复制到您的 IDA `plugins/` 目录下,然后重启 IDA。 ## 使用方法 ### 交互模式 (IDA 插件) - **快捷键:** | 快捷键 | 操作 | |----------|--------| | `Ctrl+Alt+G` | 函数分析 | | `Ctrl+Alt+R` | 重命名函数变量 | | `Ctrl+Alt+E` | 漏洞挖掘 | | `Ctrl+Alt+W` | 轻量级自动分析 | - 在伪代码窗口中**右键单击**打开上下文菜单。
- **菜单栏**:Edit → WPeGPT
### 自动化模式 (无头分析)
使用 [wpegpt-analyzer](https://github.com/WPeace-HcH/wpegpt-analyzer) Skill,或运行菜单栏:Edit → WPeGPT → Auto-WPeGPT
报告保存在 `_WPeAI_Results/` 目录下。
## 示例
使用方法:
函数分析结果:
漏洞挖掘:
## 关于 OpenAI-API 错误
如果您在代理后遇到连接问题:
- 检查您的 `urllib3` 版本 —— v1.26 存在已知的代理问题。请通过以下方式修复:
pip uninstall urllib3
pip install urllib3==1.25.11
- 在 `config.py` 中配置 `FORWARD_PROXY`(例如 `http://127.0.0.1:7890`)。
- 或者通过设置 `API_BASE_URL` 来使用反向代理。
## 联系方式
如果您遇到问题或有任何疑问,请提交 GitHub Issue 或发送电子邮件。
2. 增加了 Python 还原功能。
3. 修改了一些细节。| |1.2|2023-03-03|1. 增加了在函数中查找二进制漏洞的功能。
2. 增加了尝试自动生成相应 EXP 的功能。
3. 修改了一些细节。
(由于 OpenAI 服务器卡顿,未对上传进行测试)| |2.0|2023-03-06|1. 完成了对 *v1.2* 版本漏洞相关功能的测试。
2. 切换到 OpenAI 发布的最新 **gpt-3.5-turbo** 模型。| |2.1|2023-03-07|修复了 OpenAI-API 超时问题。(参见 ***关于 OpenAI-API 错误报告*** 章节)| |2.3|2023-04-23|添加 **Auto-WPeGPT v0.1** 以支持二进制文件的自动化分析。
(从此版本开始需要添加 *anytree* 包,使用 *requirements.txt* 或 *pip install anytree*)| |2.4|2023-11-10|1. 更改了一些显示细节。
2. 更新 **Auto-WPeGPT v0.2**。| |2.5|2024-08-07|1. 增加了对其他模型的支持,您可以使用 *MODEL* 变量进行设置。 @tpsnt
2. 支持新版本的 python openai 包。(需要更新您的 openai 包)| |2.6|2025-02-17|增加对 DeepSeek 的支持,您需要将变量 *PLUGIN_NAME* 设置为 WPeChat-DeepSeek 并将 API KEY 填入变量 *model_api_key*。
(默认模型为 DeepSeek-V3。如果您想使用 R1 模型,请修改变量 **MODEL** = *'deepseek-reasoner'*。)| | **3.0** | **2026-05-27** | **更名为 WPeGPT。完成架构重新设计:**
1. 拆分为模块化架构(`WPeGPT.py` + `config.py` + `wpe_ai_controller.py`)。
2. 引入 **WPeServer**(TCP 命令服务器)用于外部 AI 驱动的自动化。
3. **三阶段分析 pipeline**(全局扫描 → 关键路径 → 全面扫描)。
4. **三种分析模式**(light / full / vuln)。
5. 智能字符串分类(10 个类别)和网络 IoC 提取。
6. 带有 stdlib 过滤的函数可疑度评分系统。
7. Shellcode 加载器检测。
8. 结构化 JSON + Markdown 报告生成。 | ## 安装 ### 1. 安装依赖 ``` pip install -r ./requirements.txt ``` ### 2. 配置 编辑 `WPeGPT_Config/config.py`: - 设置您的 `API_KEY` - 设置 `API_BASE_URL` - 设置 `MODEL` - 设置 `ZH_CN = True` 输出中文(默认),`False` 输出英文 - 可选配置 `ANALYSIS_MODE`、`MAX_WORKERS` 等其他选项 ### 3. 安装插件 将 `WPeGPT.py` 和 `WPeGPT_Config/` 文件夹复制到您的 IDA `plugins/` 目录下,然后重启 IDA。 ## 使用方法 ### 交互模式 (IDA 插件) - **快捷键:** | 快捷键 | 操作 | |----------|--------| | `Ctrl+Alt+G` | 函数分析 | | `Ctrl+Alt+R` | 重命名函数变量 | | `Ctrl+Alt+E` | 漏洞挖掘 | | `Ctrl+Alt+W` | 轻量级自动分析 | - 在伪代码窗口中**右键单击**打开上下文菜单。
- **菜单栏**:Edit → WPeGPT
### 自动化模式 (无头分析)
使用 [wpegpt-analyzer](https://github.com/WPeace-HcH/wpegpt-analyzer) Skill,或运行菜单栏:Edit → WPeGPT → Auto-WPeGPT
报告保存在 `
函数分析结果:
漏洞挖掘:
## 关于 OpenAI-API 错误
如果您在代理后遇到连接问题:
- 检查您的 `urllib3` 版本 —— v1.26 存在已知的代理问题。请通过以下方式修复:
pip uninstall urllib3
pip install urllib3==1.25.11
- 在 `config.py` 中配置 `FORWARD_PROXY`(例如 `http://127.0.0.1:7890`)。
- 或者通过设置 `API_BASE_URL` 来使用反向代理。
## 联系方式
如果您遇到问题或有任何疑问,请提交 GitHub Issue 或发送电子邮件。标签:DLL 劫持, IDA插件, Petitpotam, 二进制分析, 云安全运维, 云资产清单, 大语言模型, 威胁情报, 开发者工具, 自动化分析, 跨站脚本, 逆向工具, 逆向工程