0xOb5k-J/IDApro-MCP
GitHub: 0xOb5k-J/IDApro-MCP
通过 MCP 协议将 IDA Pro 与 AI 助手连接,实现智能化的二进制分析与逆向工程协作平台
Stars: 0 | Forks: 0
# IDA Pro MCP Server 终极版
[](https://www.hex-rays.com/products/ida/)
[](https://python.org)
[](LICENSE)
[]()
一个综合性的二进制分析工具包,通过 Model Context Protocol (MCP) 将 IDA Pro 与现代 AI 助手连接起来。该工具将 ID Pro 转变为一个强大的 AI 辅助逆向工程平台,具备高级缓存、性能监控和漏洞检测能力。
## 🚀 功能特性
### 核心能力
- **55+ 分析工具** - 完整的二进制分析套件
- **高级缓存系统** - 基于 TTL 的智能缓存,支持 LRU 淘汰机制
- **性能监控** - 实时执行指标与优化
- **批量操作** - 高效处理多个目标
- **模式识别** - 自动检测加密、加壳和恶意软件模式
- **漏洞检测** - 识别潜在的安全问题
- **零导入错误** - 保证与 IDA Pro 9.0 兼容
### 分析类别
#### 🔍 核心分析 (工具 1-10)
- 全面的二进制信息提取
- 包含 CFG 指标的高级函数分析
- 包含循环检测的深度函数分析
- 加密常量识别
- 反调试技术检测
- 漏洞评估
- 高级字符串分析
- 详细的导入/导出分析
- 包含权限的段信息
#### 🌐 交叉引用与流程 (工具 11-20)
- 交叉引用分析 (引用自/引用到)
- 调用图生成
- 数据流分析
- 执行路径追踪
- 死代码检测
- 循环分析
- 递归函数识别
- 间接调用检测
- 函数块分析
#### 🔍 模式识别 (工具 21-30)
- 字节模式搜索
- 字符串模式匹配
- 代码模式检测
- Shellcode 识别
- 编码模式分析
- 格式字符串检测
- 网络指标提取
- 注册表操作分析
- 文件操作追踪
- 进程操作监控
#### 🛠️ 反编译与分析 (工具 31-40)
- Hexrays 反编译器集成
- 函数签名提取
- 栈变量分析
- 函数参数分析
- 局部类型信息
- 虚函数表分析
- Switch 表检测
- 枚举提取
- 结构体分析
- 注释管理
#### ⚡ 二进制操作 (工具 41-50)
- 运行时字节修补
- 注释添加/修改
- 符号重命名
- 函数创建/删除
- 函数类型设置
- 代码/数据标记
- 内存取消定义
- 字符串创建
- 实时修改
#### 📊 性能与监控 (工具 51-55)
- 性能统计
- 缓存管理
- 缓存信息
- IDA Python 脚本执行
- 服务器状态监控
## 🛠️ 安装
### 前置条件 - 最低要求
```
# IDA Pro 9.0 或更高版本
# Python 3.8+
# 安装 MCP 依赖
pip install mcp starlette uvicorn
```
或
```
cd IDApro-MCP
pip3 install -r requirements.txt
```
### 设置
1. **克隆仓库:**
```
git clone https://github.com/0xOb5k-J/IDApro-MCP.git
cd IDApro-MCP
```
2. **复制到 IDA Pro 插件目录:**
```
# Windows
copy ida-mcp-server-ultimate.py "%IDADIR%\plugins\"
# Linux/macOS
cp ida-mcp-server-ultimate.py "$IDADIR/plugins/"
```
3. **启动 IDA Pro:**
- 插件在启动时自动加载
- 服务器默认运行在端口 3000
- 使用快捷键 `Ctrl+Alt+M` 快速访问
## 🔧 MCP 客户端配置
### Claude 配置
```
{
"mcpServers": {
"IDAPro": {
"url": "http://127.0.0.1:3000/sse",
"type": "sse"
}
}
}
```
### VSCode 配置
```
{
"servers": {
"IDAPro": {
"url": "http://127.0.0.1:3000/sse",
"type": "sse"
}
}
}
```
## 🚦 使用
### 基本用法
```
# 插件自动启动 MCP server
# 通过 http://localhost:3000 访问
# 示例 tool calls:
get_comprehensive_info() # Get binary overview
analyze_function_deep(0x401000) # Deep function analysis
find_crypto_constants() # Find crypto patterns
detect_anti_analysis() # Detect anti-debugging
find_vulnerabilities() # Security assessment
```
### 高级功能
```
# 性能监控
get_performance_stats()
# Cache 管理
clear_cache("function_*")
get_cache_info()
# 自定义分析
execute_ida_python("print('Custom script')")
# Pattern 搜索
search_bytes("48 89 E5")
find_shellcode_patterns()
```
## 🏗️ 架构
### 智能缓存系统
- **基于 TTL 的过期** - 自动缓存失效
- **LRU 淘汰** - 内存高效的缓存管理
- **模式失效** - 选择性缓存清理
- **命中率追踪** - 性能指标
### 性能优化
- **执行计时** - 函数性能追踪
- **内存监控** - 缓存使用统计
- **批处理** - 高效的批量操作
- **线程支持** - 非阻塞操作
### 安全功能
- **反分析检测** - 识别规避技术
- **漏洞扫描** - 自动化安全评估
- **加密识别** - 查找加密实现
- **恶意软件签名** - 基于模式的检测
## 📊 性能指标
服务器提供全面的性能监控:
```
{
"function_stats": {
"analyze_function_deep": {
"avg_time": 0.045,
"min_time": 0.021,
"max_time": 0.156,
"total_calls": 42
}
},
"cache_performance": {
"hit_ratio": 0.87,
"total_hits": 1240,
"total_misses": 180
},
"uptime": 3600.5
}
```
### 分析级别
```
class AnalysisLevel(Enum):
BASIC = 1 # Quick overview
STANDARD = 2 # Standard analysis
DEEP = 3 # Comprehensive analysis
FORENSIC = 4 # Maximum depth
```
## 🧪 示例用例
### 1. 恶意软件分析
```
# 全面恶意软件评估
info = get_comprehensive_info()
anti_debug = detect_anti_analysis()
crypto = find_crypto_constants()
vulns = find_vulnerabilities()
```
### 2. 漏洞研究
```
# 专注于安全的分析
dangerous_funcs = find_vulnerabilities()
format_strings = find_format_strings()
network_indicators = find_network_indicators()
```
### 3. 逆向工程
```
# 深度 binary 理解
functions = get_functions_advanced(sort_by="size")
for func in functions[:10]: # Top 10 largest
analysis = analyze_function_deep(int(func["address"], 16))
decompiled = decompile_function(int(func["address"], 16))
```
## 🛡️ 安全注意事项
- **默认只读** - 安全的探索模式
- **受控修改** - 显式修补操作
- **备份建议** - 始终在副本上工作
- **审计日志** - 追踪所有修改
## 📝 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
**用 ❤️ 为逆向工程社区打造**
⭐ **如果你觉得有用,请给这个仓库 Star!** ⭐
- 这只是一个诱饵,请使用 dev 分支获取真实实现 (零信任)