前言

越来越多的工具都出了 mcp 工具,jadx 也不例外,今天带来 jadx mcp 的安装过程,可以用 cursor / claude 来帮我们逆向分析 apk 啦。 我是 mac 系统,这里仅介绍 mac 系统下的安装

JADX-AI-MCP 是一款先进的逆向工程解决方案,由两个深度集成的组件构成:

JADX-AI-MCP 插件(Java)  - 作为 JADX-GUI 的扩展插件,通过本地 HTTP API 开放反编译器的核心功能
JADX-MCP 服务器(Python)  - 作为 MCP 服务器,将 HTTP 接口转换为 AI 助手可直接调用的工具集

两者协同工作,实现了对 Android 应用的实时智能分析、漏洞检测和代码理解能力,让 AI 助手能够深度参与逆向工程的全过程。

工具安装

需要准备的工作:

  1. 安装jadx-gui。这没啥好说的
  2. 在 jadx-gui 安装 jadx_mcp_server 扩展
  3. 下载jadx_mcp_server.zip,下载地址

安装jadx-gui

可以直接 brew 安装,不再赘言

brew install jadx
brew install jadx-gui

jadx-gui 安装 jadx_mcp_server 扩展

同样可以使用命令行安装

jadx plugins --install "github:zinja-coder:jadx-ai-mcp"

如果没有配置命令行,还是推荐配置一下命令行哈。 也可以手动下载 jar 包安装

下载jadx_mcp_server.zip

下载 jadx_mcp_server.zip,放到本地并且解压缩后会得到一个有jadx_mcp_server.py的文件夹,需要配置这个 py 脚本到 Cursor / Claude 中。

配置 MCP 到 Cursor / Claude 中

这个不多赘述,dddd 啊

{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "python3",
            "args": [
                "/Users/XXX/tools/jadx-mcp/jadx-mcp-server/jadx_mcp_server.py"
            ]
        }
    }
}

依赖管理

安装python环境依赖

pip3 install -r requirements.txt  
python3 jadx_mcp_server.py

测试server文件运行正常,jadx-port端口配置8650

测试是否连通

先开启 jadx-gui,确定已经开启服务

可以在 Cursor / Claude 中尝试说,帮我分析一下这个 app 的基础结构。

遇到的问题

我的 mac 安装的时候遇到了一个 python 的报错,在安装 python 的依赖的时候

# 安装需要的依赖
pip3 install -r requirements.txt
# 试运行 jadx_mcp_server.py,看连接是否成功
python3 jadx_mcp_server.py

我 mac 内置的 python 版本是 3.9.6,可以用python3 --version来查看,如果用本地的 3.9.6 去安装依赖,会报版本太低找不到 fastmcp 包。

我本地用 brew 安装过 python@3.14.2 版本,所以我希望用 python@3.14.2 版本来安装并且运行 jadx_mcp_server.py 。

  cd /Users/yocn/jadx-mcp-server
  python3.14 -m venv venv
  source venv/bin/activate
  pip install -r requirements.txt

不推荐使用 --break-system-packaged来安装,可能会破坏系统 python 环境,引起不可预知的问题,比如可能引起 git / brew 模块不可用。 安装虚拟环境的就是需要先调用source venv/bin/activate,在命令行运行没有问题,但是我是需要在 cursor / claude 等等的 mcp.json 中配置来让 AI 自动调用的, 而按照 mcp.json 中我们的配置是

{
    "mcpServers": {
        "jadx-mcp-server": {
            "command": "python3",
            "args": [
                "/Users/XXX/tools/jadx-mcp/jadx-mcp-server/jadx_mcp_server.py"
            ]
        }
    }
}

是直接调用 jadx_mcp_server.py 这个 python 脚本,那我们转换一个思路,我们写到一个 shell 脚本里面,先调用 shell 脚本进入虚拟环境,再调用脚本。

{
  "mcpServers": {
    "jadx-mcp-server": {
      "command": "/xxx/jadx-mcp-server/run_jadx_mcp.sh",
      "args": [
        "--jadx-port",
        "8650"
      ]
    }
  }
}

run_jadx_mcp.sh 的命令如下:

#!/bin/bash

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# 激活虚拟环境并运行 Python 脚本
source "$SCRIPT_DIR/venv/bin/activate"
exec python3 "$SCRIPT_DIR/jadx_mcp_server.py" "$@"

这样就可以了。

如果还有问题,可以让 Cursor / Claude 帮我们看下是什么问题~

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com