JADX-AI-MCP
将 MCP 服务器集成到 JADX 的插件
zinja-coder
README
<div align="center">
JADX-AI-MCP
</div>
<!-- It is a still in early stage of development, so expects bugs, crashes and logical erros.-->
<!-- Standalone Plugin for JADX (Started as Fork) with Model Context Protocol (MCP) integration for AI-powered static code analysis and real-time code review and reverse engineering tasks using Claude.-->
使用AI工具生成的图像。
🤖 什么是 JADX-AI-MCP?
JADX-AI-MCP 是 JADX 反编译器 的一个插件,它直接与 模型上下文协议 (MCP) 集成,以提供使用 Claude 等 LLM 的实时逆向工程支持。
可以这样理解:“反编译 → 上下文感知代码审查 → AI 建议”——全部实时进行。
观看演示!
它是两个工具的组合:
- JADX-AI-MCP
- JADX MCP SERVER
🤖 什么是 JADX-MCP-SERVER?
JADX MCP Server 是一个独立的 Python 服务器,它通过 MCP(模型上下文协议)与 JADX-AI-MCP
插件(参见:jadx-ai-mcp)交互。它允许 LLM 与反编译的 Android 应用程序上下文进行实时通信。
当前 MCP 工具
以下 MCP 工具可用:
fetch_current_class()
— 获取所选类的类名和完整源代码get_selected_text()
— 获取当前选定的文本get_all_classes()
— 列出项目中的所有类get_class_source(class_name)
— 获取给定类的完整源代码get_method_by_name(class_name, method_name)
— 获取方法的源代码search_method_by_name(method_name)
— 跨类搜索方法get_methods_of_class(class_name)
— 列出类中的方法get_fields_of_class(class_name)
— 列出类中的字段get_method_code(class_name, method_name)
—get_method_by_name
的别名 //将被删除get_smali_of_class(class_name)
— 获取类的 smali 代码
🗒️ 示例提示
🔍 基本代码理解
"用一段话解释这个类的作用。"
"总结这个方法的职责。"
"这个类中是否有任何混淆?"
"列出这个类可能需要的所有 Android 权限。"
🛡️ 漏洞检测
"这个方法中是否有任何不安全的 API 用法?"
"检查这个类中是否有硬编码的密钥或凭据。"
"这个方法在使用用户输入之前是否对其进行清理?"
"这段代码可能会引入哪些安全漏洞?"
🛠️ 逆向工程助手
"对类和方法进行反混淆并重命名为可读的名称。"
"你能推断出这个 smali 方法的原始用途吗?"
"这个类似乎是哪些库或 SDK 的一部分?"
📦 静态分析
"列出这个类中所有与网络相关的 API 调用。"
"识别文件 I/O 操作及其潜在风险。"
"这个方法是否会泄露设备信息或 PII?"
🤖 AI 代码修改
"重构这个方法以提高可读性。"
"向这段代码添加注释,解释每个步骤。"
"用 Python 重写这个 Java 方法以进行分析。"
📄 文档和元数据
"为所有方法生成 Javadoc 风格的注释。"
"这个类可能属于哪个包或应用程序组件?"
"你能识别出 Android 组件类型(Activity、Service 等)吗?"
📦 功能
- ✅ MCP 服务器内置于 JADX-GUI 中
- ✅ 通过 HTTP 公开当前选定的类
- ✅ 公开对 Cluade 的 GUI 访问,例如“向我解释所选代码,解释突出显示代码的用例”
- ✅ 内置 Claude Desktop 集成
- ✅ 实时代码审查的 Beta 支持
- ✅ 通过本地环回的 MCP 客户端互操作性
🛠️ 入门指南
1. 从 Releases 下载:https://github.com/zinja-coder/jadx-ai-mcp/releases
注意: 同时下载 jadx-ai-mcp-<version>.jar
和 jadx-mcp-server-<version>.zip
文件。
# 0. 下载 jadx-ai-mcp-<version>.jar 和 jadx-mcp-server-<version>.zip
https://github.com/zinja-coder/jadx-ai-mcp/releases
# 1.
unzip jadx-ai-mcp-<version>.zip
├jadx-mcp-server/
├── jadx_mcp.py
├── requirements.txt
├── README.md
├── LICENSE
├jadx-ai-mcp-<version>.jar
# 2. 安装插件
# 为此,您可以采用两种方法:
## 1. 一行命令 - 在您的 shell 中执行以下命令
jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
## 上面的一行代码会将最新版本的插件直接安装到 jadx 中,无需下载 jadx-ai-mcp 的 .jar 文件。
## 2. 或者您可以使用 JADX-GUI 通过以下图片所示的步骤进行安装:
## 3. GUI 方法,下载 .jar 文件并按照以下图片中显示的步骤操作
# 3. 导航到 jadx-mcp-server 目录
cd jadx-mcp-server
# 4. 此项目使用 uv - https://github.com/astral-sh/uv 代替 pip 进行依赖管理。
## a. 安装 uv(如果您还没有安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
## b. 设置环境
uv venv
source .venv/bin/activate # 或 .venv\Scripts\activate 在 Windows 上
## c. 安装依赖项
uv pip install httpx fastmcp
# jadx-ai-mcp 和 jadx_mcp_server 的设置已完成。
🤖 2. Claude Desktop 设置
确保 Claude Desktop 正在运行并启用了 MCP。
例如,我使用了以下适用于 Kali Linux 的版本:https://github.com/aaddrick/claude-desktop-debian
配置并将 MCP 服务器添加到 LLM 文件:
nano ~/.config/Claude/claude_desktop_config.json
并在其中添加以下内容:
{
"mcpServers": {
"jadx-mcp-server": {
"command": "/<path>/<to>/uv",
"args": [
"--directory",
"</PATH/TO/>jadx-mcp-server/",
"run",
"jadx_mcp_server.py"
]
}
}
}
然后,导航代码并使用内置集成通过实时代码审查提示进行交互。
试一试
- 运行 jadx-gui 并加载任何 .apk 文件
- 启动 claude - 您必须看到锤子符号
- 单击
hammer
符号,您应该看到类似以下内容:
- 运行以下提示:
fetch currently selected class and perform quick sast on it
- 出现提示时允许访问:
- HACK!
此插件允许完全控制 GUI 和内部项目模型,以支持更深入的 LLM 集成,包括:
- 将选定的类导出到 MCP
- 运行自动化的 Claude 分析
- 接收内联建议
🛣️ 未来路线图
-
增加对 apktool 的支持
-
增加对 hermes 代码(ReactNative 应用程序)的支持
-
添加更多有用的 MCP 工具
-
使 LLM 能够修改 JADX 上的代码
-
添加提示模板,使 llm 能够访问 Android APK 文件作为资源
-
最终目标:使所有 Android 逆向工程和 APK 修改工具都连接到单个 MCP 服务器,从而尽可能轻松地通过感觉进行 APK 文件逆向工程。
贡献者须知
-
与 JADX-AI-MCP 相关的文件可以在此 repo 下找到。
-
与 jadx-mcp-server 相关的文件可以在此处找到。
报告错误、问题、功能建议、性能问题、一般问题、文档问题。
- 请使用相应的模板打开一个 issue。
🙏 鸣谢
该项目是 JADX 的一个插件,JADX 是一个由 @skylot 创建和维护的令人惊叹的开源 Android 反编译器。所有核心反编译逻辑都属于他们。我只是扩展了它以支持我的具有 AI 功能的 MCP 服务器。
jadx 的原始 README.md 包含在此存储库中,以供参考和致谢。
此 MCP 服务器的实现得益于 JADX-GUI 的可扩展性和令人惊叹的 Android 逆向工程社区。
还要非常感谢 @aaddrick 开发了适用于基于 Debian 的 Linux 的 Claude desktop。
最后感谢 @anthropics 开发了模型上下文协议和 @FastMCP 团队
📄 许可证
JADX-AI-MCP 和所有相关项目继承了原始 JADX 存储库的 Apache 2.0 许可证。
⚖️ 法律警告
免责声明
工具 jadx-ai-mcp
和 jadx_mcp_server
仅用于教育、研究和道德安全评估目的。 它们按“原样”提供,不提供任何明示或暗示的保证。 用户全权负责确保他们对这些工具的使用符合所有适用的法律、法规和道德准则。
通过使用 jadx-ai-mcp
或 jadx_mcp_server
,您同意仅在您有权测试的环境中使用它们,例如您拥有或明确允许分析的应用程序。 严禁滥用这些工具进行未经授权的逆向工程、侵犯知识产权或恶意活动。
jadx-ai-mcp
和 jadx_mcp_server
的开发者不对因使用或滥用这些工具而造成的任何损害、数据丢失、法律后果或其他后果承担责任。 用户对其行为以及因其使用造成的任何影响承担全部责任。
负责任地使用。 尊重知识产权。 遵循道德黑客行为规范。
用 ❤️ 为逆向工程和 AI 社区构建。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。