# idaproserver **Repository Path**: null_465_7266/idaproserver ## Basic Information - **Project Name**: idaproserver - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-22 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README PS C:\Users\21558\idasrever\idaproserver> & 'c:\Users\21558\Documents\WeChat Files\wxid_nwercn4twf1c22\FileStorage\File\2024-10\ida\IDA_Pro_v8.3_Portable\python311\python.exe' .\app.py # Headless IDA Web Server 基于 headless-ida 的 Web 服务器,提供可视化的二进制文件上传、反汇编和反编译功能。 ## 功能特性 - 🌐 **Web 界面**: 现代化的响应式 Web 界面 - 📁 **文件上传**: 支持拖拽上传多种二进制文件格式 - 🔍 **反汇编分析**: 提取函数、字符串、导入/导出表等信息 - 🧩 **反编译**: 支持 Hex-Rays 反编译器(如果可用) - 📊 **可视化展示**: 分类展示分析结果,支持搜索和过滤 - ⚡ **实时分析**: 异步处理,实时显示分析进度 ## 支持的文件格式 - Windows: `exe`, `dll`, `sys`, `drv`, `com` - Linux: `so`, `elf`, `bin`, `out` - macOS: `dylib`, `mach-o` - 通用: `pe`, `coff`, `obj`, `lib`, `a` ## 安装要求 ### 系统要求 - Python 3.8+ - IDA Pro (支持 idat64 或 idalib) - 现代浏览器 ### Python 依赖 ```bash pip install -r requirements.txt ``` ## 快速开始 ### 1. 克隆项目 ```bash git clone cd headless-ida-web-server ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 配置 IDA 路径 复制环境配置文件并修改: ```bash cp .env.example .env ``` 编辑 `.env` 文件,设置你的 IDA Pro 路径: ```bash # Windows IDA_PATH=C:\Program Files\IDA Pro 8.3\idat64.exe # Linux IDA_PATH=/opt/ida/idat64 # macOS IDA_PATH=/Applications/IDA Pro 8.3/ida.app/Contents/MacOS/idat64 ``` ### 4. 启动服务器 #### 方法一:使用 IDA 自带的 Python 环境(推荐) 这种方法可以确保所有 IDA 模块都可用: **Windows (批处理脚本):** ```bash start_with_ida_python.bat ``` **Windows (PowerShell):** ```powershell .\start_with_ida_python.ps1 ``` **手动启动:** ```bash # 替换为你的 IDA Python 路径 "C:\path\to\ida\python311\python.exe" app.py ``` #### 方法二:使用系统 Python 环境 注意:这种方法可能无法访问 IDA 的内部模块,建议使用方法一。 ```bash python run.py ``` 或者直接运行: ```bash python app.py ``` ### 5. 访问 Web 界面 打开浏览器访问: http://localhost:5000 ## 使用说明 ### 上传文件 1. 在主页点击上传区域或拖拽文件到上传区域 2. 选择支持的二进制文件 3. 点击"上传文件"按钮 ### 分析文件 1. 文件上传成功后,点击"开始分析"按钮 2. 等待分析完成(可能需要几分钟,取决于文件大小) 3. 查看分析结果 ### 查看结果 分析完成后,结果将显示在以下选项卡中: - **函数**: 显示函数列表、地址、大小和反汇编代码 - **字符串**: 显示文件中的字符串常量 - **导入**: 显示导入的函数和库 - **导出**: 显示导出的函数 - **段**: 显示内存段信息 ## API 接口 ### 上传文件 ```http POST /upload Content-Type: multipart/form-data file: ``` ### 分析文件 ```http POST /analyze Content-Type: application/json { "filename": "uploaded_filename" } ``` ### 获取结果 ```http GET /results/ ``` ### 健康检查 ```http GET /health ``` ## 配置选项 可以通过环境变量或 `config.py` 文件配置以下选项: | 配置项 | 默认值 | 说明 | |--------|--------|------| | `IDA_PATH` | - | IDA Pro 可执行文件路径 | | `UPLOAD_FOLDER` | `uploads` | 文件上传目录 | | `RESULTS_FOLDER` | `results` | 分析结果目录 | | `MAX_FUNCTIONS` | `100` | 最大函数数量 | | `MAX_STRINGS` | `100` | 最大字符串数量 | | `MAX_IMPORTS` | `100` | 最大导入数量 | | `MAX_EXPORTS` | `100` | 最大导出数量 | | `MAX_DISASM_LINES` | `20` | 每个函数最大反汇编行数 | ## 故障排除 ### IDA 路径错误 如果遇到 "IDA executable not found" 错误: 1. 确认 IDA Pro 已正确安装 2. 检查 `.env` 文件中的 `IDA_PATH` 配置 3. 确保路径指向正确的可执行文件(idat64.exe 或 idat64) ### 分析失败 如果分析过程中出现错误: 1. 检查文件格式是否受支持 2. 确认文件没有损坏 3. 查看服务器日志获取详细错误信息 ### 内存不足 对于大型文件,可能遇到内存不足问题: 1. 减少配置中的最大数量限制 2. 增加系统内存 3. 使用更强大的服务器 ## 开发 ### 项目结构 ``` ├── app.py # 主应用文件 ├── config.py # 配置文件 ├── run.py # 启动脚本 ├── requirements.txt # Python 依赖 ├── .env.example # 环境配置示例 ├── templates/ # HTML 模板 │ └── index.html ├── static/ # 静态文件 │ └── app.js ├── uploads/ # 上传文件目录 └── results/ # 分析结果目录 ``` ### 添加新功能 1. 在 `app.py` 中添加新的 API 端点 2. 在 `templates/index.html` 中添加前端界面 3. 在 `static/app.js` 中添加 JavaScript 逻辑 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request! ## 致谢 - [headless-ida](https://github.com/DennyDai/headless-ida) - 核心分析引擎 - [IDA Pro](https://hex-rays.com/ida-pro/) - 反汇编和反编译工具 - [Flask](https://flask.palletsprojects.com/) - Web 框架