二进制分析服务

使用IDA Pro的无头模式分析二进制文件,并提供一套工具来管理和操作函数、变量等。

  • by cnitlrt
  • Python
  • 本地部署
  • 45 星标
  • 更新于
在 GitHub 查看 cnitlrt/headless-ida-mcp-server

使用说明

致谢

该项目建立在以下工作的基础上:

无头IDA MCP服务器

如果你想直接将服务器作为cli应用程序运行,而不是交互式IDA插件,你可以选择它。

项目描述

该项目使用IDA Pro的无头模式来分析二进制文件,并通过MCP提供一套工具来管理和操纵函数、变量等。

先决条件

  • Python 3.12或更高版本
  • IDA Pro无头支持(idat)https://github.com/DennyDai/headless-ida

安装

  1. 在本地克隆项目:

    git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
    cd headless-ida-mcp-server
    
  2. 安装依赖项:

    uv python install 3.12
    uv venv --python 3.12
    uv pip install -e .
    

配置

  1. 复制示例环境文件:

    cp .env_example .env
    
  2. 在中配置以下环境变量 .env:

    • IDA_PATH:IDA Pro的无头可执行文件(idat)的路径,例如。, /home/ubuntu/idapro/idat
    • PORT:MCP服务器的端口号。, 8888
    • HOST:MCP服务器的主机地址。, 127.0.0.1
    • TRANSPORT:MCP传输模式(sse 或 stdio)

用法

  1. 启动服务器:

    uv run headless_ida_mcp_server
    
  2. 使用MCP客户端连接到服务器:

    调试它:

    npx -y @modelcontextprotocol/inspector
    

    或

    {
    "mcpServers": {
       "ida": {
          "command": "/path/to/uv",
          "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"]
       }
    }
    }