zinja-coder/jadx-ai-mcp
GitHub: zinja-coder/jadx-ai-mcp
JADX反编译器的MCP集成插件,让Claude等大语言模型能够实时读取和分析反编译后的Android APK代码,实现AI辅助的漏洞发现与逆向工程。
Stars: 1614 | Forks: 167
# JADX-AI-MCP (Zin MCP Suite 的一部分)
⚡ 全自动化的 MCP 服务器 + JADX 插件,旨在通过 MCP 与 LLM 通信,使用 Claude 等 LLM 分析 Android APK——轻松发现漏洞、分析 APK 并进行逆向工程。







[](http://www.apache.org/licenses/LICENSE-2.0.html)
#### 阅读文档
- 文档现已上线:https://jadx-ai-mcp.readthedocs.io/en/latest/
## 🤖 什么是 JADX-AI-MCP?
**JADX-AI-MCP** 是一个用于 [JADX 反编译器](https://github.com/skylot/jadx)的插件,它直接集成了[模型上下文协议 (MCP)](https://github.com/anthropic/mcp),以提供**通过 Claude 等 LLM 进行实时逆向工程的支持**。
想象一下:“反编译 → 上下文感知的代码审查 → AI 建议”——所有这一切都在实时进行。
#### 高层序列图
```
sequenceDiagram
LLM CLIENT->>JADX MCP SERVER: INVOKE MCP TOOL
JADX MCP SERVER->>JADX AI MCP PLUGIN: INVOKE HTTP REQUEST
JADX AI MCP PLUGIN->>REQUEST HANDLERS: INVOKE HTTP REQUEST HANDLER
REQUEST HANDLERS->>JADX GUI: PERFORM ACTION/GATHER DATA
JADX GUI->>REQUEST HANDLERS: ACTION PERFORMED/DATA GATHERED
REQUEST HANDLERS->>JADX AI MCP PLUGIN: CRAFT HTTP RESPONSE
JADX AI MCP PLUGIN->>JADX MCP SERVER:HTTP RESPONSE
JADX MCP SERVER->>LLM CLIENT: MCP TOOL RESULT
```
### 观看演示!
- **执行快速分析**
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
- **快速查找漏洞**
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
- **多 AI 代理支持**
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
- **与您喜欢的 LLM 客户端一起运行**
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
- **分析 APK 资源**
https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1
- **在使用 JADX 调试 APK 期间的 AI 助手**
https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec
它是两个工具的组合:
1. JADX-AI-MCP
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)
## 🤖 什么是 JADX-MCP-SERVER?
**JADX MCP Server** 是一个独立的 Python 服务器,通过 MCP(模型上下文协议)与 `JADX-AI-MCP` 插件交互(参见:[jadx-ai-mcp](https://github.com/zinja-coder/jadx-ai-mcp))。它允许 LLM 与反编译后的 Android 应用上下文进行实时通信。
## Zin MCP Suite 中的其他项目
- **[APKTool-MCP-Server](https://github.com/zinja-coder/apktool-mcp-server)**
- **[JADX-MCP-Server](https://github.com/zinja-coder/jadx-mcp-server)**
- **[ZIN-MCP-Client](https://github.com/zinja-coder/zin-mcp-client)**
## 当前 MCP 工具
提供以下 MCP 工具:
- `fetch_current_class()` — 获取所选类的类名和完整源代码
- `get_selected_text()` — 获取当前选定的文本
- `get_all_classes()` — 列出项目中的所有类
- `get_class_source()` — 获取给定类的完整源代码
- `get_method_by_name()` — 获取方法的源代码
- `search_method_by_name()` — 跨类搜索方法
- `search_classes_by_keyword()` — 搜索源代码包含特定关键字的类(支持分页)
- `get_methods_of_class()` — 列出类中的方法
- `get_fields_of_class()` — 列出类中的字段
- `get_smali_of_class()` — 获取类的 smali 代码
- `get_main_activity_class()` — 从 AndroidManifest.xml 文件中获取 JADX 提及的 main activity。
- `get_main_application_classes_code()` — 根据 AndroidManifest.xml 中定义的包名获取所有主应用类的代码。
- `get_main_application_classes_names()` — 根据 AndroidManifest.xml 中定义的包名获取所有主应用类的名称。
- `get_android_manifest()` — 检索并返回 AndroidManifest.xml 的内容。
- `get_manifest_component` - 检索特定的 manifest 组件,而不是整个 manifest 文件
- `get_strings()` :获取 strings.xml 文件
- `get_all_resource_file_names()` :检索应用程序中存在的所有资源文件名称
- `get_resource_file()` :检索资源文件内容
- `rename_class()` :重命名类名
- `rename_method()` :重命名方法
- `rename_field()` :重命名字段
- `rename_package()` :重命名整个包
- `rename_variable()` :重命名方法内的变量
- `debug_get_stack_frames()` :从 JADX 调试器获取堆栈帧
- `debug_get_threads()` :从 JADX 调试器获取线程洞察
- `debug_get_variables()` :从 JADX 调试器获取变量
- `xrefs_to_class()` :查找对类的所有引用(返回方法级和类级引用,支持分页)
- `xrefs_to_method()` :查找对方法的所有引用(包括覆盖相关的方法,支持分页)
- `xrefs_to_field()` :查找对字段的所有引用(返回访问该字段的方法,支持分页)
## 🗒️ 示例提示词
🔍 基础代码理解
```
"Explain what this class does in one paragraph."
"Summarize the responsibilities of this method."
"Is there any obfuscation in this class?"
"List all Android permissions this class might require."
```
🛡️ 漏洞检测
```
"Are there any insecure API usages in this method?"
"Check this class for hardcoded secrets or credentials."
"Does this method sanitize user input before using it?"
"What security vulnerabilities might be introduced by this code?"
```
🛠️ 逆向工程辅助
```
"Deobfuscate and rename the classes and methods to something readable."
"Can you infer the original purpose of this smali method?"
"What libraries or SDKs does this class appear to be part of?"
"Tell me which classes contains code related to 'encryption'?"
```
📦 静态分析
```
"List all network-related API calls in this class."
"Identify file I/O operations and their potential risks."
"Does this method leak device info or PII?"
```
🤖 AI 代码修改
```
"Refactor this method to improve readability."
"Add comments to this code explaining each step."
"Rewrite this Java method in Python for analysis."
```
📄 文档与元数据
```
"Generate Javadoc-style comments for all methods."
"What package or app component does this class likely belong to?"
"Can you identify the Android component type (Activity, Service, etc.)?"
```
🐞 调试助手
```
"Fetch stack frames, varirables and threads from debugger and provide summary"
"Based the stack frames from debugger, explain the execution flow of the application"
"Based on the state of variables, is there security threat?"
```
## 🛠️ 入门指南
### 1. 从 Releases 下载:https://github.com/zinja-coder/jadx-ai-mcp/releases
```
# 0. 下载 jadx-ai-mcp-.jar 和 jadx-mcp-server-.zip
https://github.com/zinja-coder/jadx-ai-mcp/releases
# 1.
unzip jadx-ai-mcp-.zip
├jadx-mcp-server/
├── jadx_mcp.py
├── requirements.txt
├── README.md
├── LICENSE
├jadx-ai-mcp-.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. Install uv (if you dont have it yet)
curl -LsSf https://astral.sh/uv/install.sh | sh
## b. OPTIONAL, if for any reasons, you get dependecy errors in jadx-mcp-server, Set up the environment
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
## c. OPTIONAL Install dependencies
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
```
对于:
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
并在其中添加以下内容:
```
{
"mcpServers": {
"jadx-mcp-server": {
"command": "///uv",
"args": [
"--directory",
" jadx-mcp-server/",
"run",
"jadx_mcp_server.py"
]
}
}
}
```
替换:
- `path/to/uv` 为您的 `uv` 可执行文件的实际路径
- `path/to/jadx-mcp-server` 为您克隆此仓库的绝对路径
然后,通过内置集成的实时代码审查提示导航代码并进行交互。
**或者**
或者您可以使用以下命令直接将 `jadx_mcp_server` 作为可执行文件安装:
```
uv tool install git+https://github.com/zinja-coder/jadx-mcp-server
```
然后您就可以在 mcp 配置的 `command` 部分直接提供 `jadx_mcp_server`。
## 3. 使用 Cherry Studio
如果您想在 Cherry Studio 中配置 MCP 工具,可以参考以下配置。
- 类型: stdio
- 命令: uv
- 参数:
```
--directory
path/to/jadx-mcp-server
run
jadx_mcp_server.py
```
- `path/to/jadx-mcp-server` 为您克隆此仓库的绝对路径
## 4. 使用 LMStudio
您还可以通过配置 LM Studio 的 mcp.json 文件来使用 JADX AI MCP Server。这是视频指南。
https://github.com/user-attachments/assets/b4a6b280-5aa9-4e76-ac72-a0abec73b809
## 5. 在 HTTP 流模式下运行
您还可以使用 `jadx_mcp_server.py` 的 `--http` 选项以 HTTP 流模式运行 JADX,如下所示:
```
uv run jadx_mcp_server.py --http
OR
uv run jadx_mcp_server.py --http --port 9999
```
### 高级 CLI 选项 — 理解各项标志
有**两个独立的连接**,每个都有自己的主机/端口:
```
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
│ (Claude, │ Where the MCP server │ │ Where the MCP server looks │ (jadx-ai-mcp) │
│ Codex..) │ LISTENS for clients │ │ for the JADX plugin │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
```
| 标志 | 默认值 | 控制 |
|------|---------|----------|
| `--http` | 关闭 | 使用 HTTP 传输代替 stdio |
| `--host` | `127.0.0.1` | **MCP 服务器监听的位置**(LLM 客户端的绑定地址) |
| `--port` | `8651` | **MCP 服务器监听的端口** |
| `--jadx-host` | `127.0.0.1` | **寻找 JADX 插件的位置**(目标 JADX-GUI 机器) |
| `--jadx-port` | `8650` | **JADX 插件所在的端口** |
### 使用示例
**场景 1 — 所有组件都在同一台机器上(最常见):**
```
# 默认:localhost:8651 上的 MCP server,连接到 localhost:8650 上的 JADX plugin
uv run jadx_mcp_server.py --http
```
**场景 2 — Docker 容器或 WSL(可从主机网络访问 MCP 服务器):**
```
# MCP server 监听所有接口,以便主机能够访问它
# JADX plugin 仍在同一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0
```
**场景 3 — JADX-GUI 运行在不同的机器上(例如,远程虚拟机):**
```
# MCP server 在本地运行,但连接到远程机器上的 JADX plugin
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```
**场景 4 — 完全远程设置(所有组件都在不同的机器上):**
```
# MCP server 监听端口 9999 上的所有接口
# JADX plugin 位于 192.168.1.100:8652 的另一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```
### Stdio 模式兼容性
## 6. JADX AI MCP 插件的自定义端口和主机配置
1. 配置端口:配置 JADX AI MCP 插件将监听的端口。
2. 默认端口:还原更改并监听默认端口。
3. 重启服务器:强制重启 JADX AI MCP 插件服务器。
4. 服务器状态:检查 JADX AI MCP 插件服务器的状态。
要连接运行在自定义端口上的 JADX AI MCP 插件,将使用 `--jadx-port` 选项,如下所示:
```
uv run jadx_mcp_server.py --jadx-port 8652
```
如果 JADX AI MCP 插件运行在**不同的机器**上(例如,JADX 在远程虚拟机上,MCP 服务器在您的本地主机上),请使用 `--jadx-host` 选项:
```
# 连接到远程主机上的 JADX plugin
uv run jadx_mcp_server.py --jadx-host 192.168.1.100 --jadx-port 8650
```
### CLI 参考 — 理解各项标志
有**两个独立的连接**,每个都有自己的主机/端口:
```
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
│ (Claude, │ Where the MCP server │ │ Where the MCP server looks │ (jadx-ai-mcp) │
│ Codex..) │ LISTENS for clients │ │ for the JADX plugin │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
```
| 标志 | 默认值 | 控制 |
|------|---------|----------|
| `--http` | 关闭 | 使用 HTTP 传输代替 stdio |
| `--host` | `127.0.0.1` | **MCP 服务器监听的位置**(LLM 客户端的绑定地址) |
| `--port` | `8651` | **MCP 服务器监听的端口** |
| `--jadx-host` | `127.0.0.1` | **寻找 JADX 插件的位置**(目标 JADX-GUI 机器) |
| `--jadx-port` | `8650` | **JADX 插件所在的端口** |
### 使用示例
**场景 1 — 所有组件都在同一台机器上(最常见):**
```
# 默认:localhost:8651 上的 MCP server,连接到 localhost:8650 上的 JADX plugin
uv run jadx_mcp_server.py --http
```
**场景 2 — Docker 容器或 WSL(可从主机网络访问 MCP 服务器):**
```
# MCP server 监听所有接口,以便主机能够访问它
# JADX plugin 仍在同一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0
```
**场景 3 — JADX-GUI 运行在不同的机器上(例如,远程虚拟机):**
```
# MCP server 在本地运行,但连接到远程机器上的 JADX plugin
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```
**场景 4 — 完全远程设置(所有组件都在不同的机器上):**
```
# MCP server 监听端口 9999 上的所有接口
# JADX plugin 位于 192.168.1.100:8652 的另一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```
自定义 jadx 端口的 MCP 配置对于 Claude 将如下所示:
```
{
"mcpServers": {
"jadx-mcp-server": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/jadx-mcp-server/",
"run",
"jadx_mcp_server.py",
"--jadx-port",
"8652"
]
}
}
}
```
## 试试看
1. 运行 jadx-gui 并加载任何 .apk 文件

2. 启动 claude - 您必须看到锤子图标

3. 点击 `锤子` 图标,您应该会看到类似以下的内容:

4. 运行以下提示词:
```
fetch currently selected class and perform quick sast on it
```

5. 在出现提示时允许访问:

6. HACK!

此插件允许完全控制 GUI 和内部项目模型,以支持更深入的 LLM 集成,包括:
- 将选定的类导出到 MCP
-运行自动化的 Claude 分析
- 内联回传建议
## 故障排除
[点击这里查看](https://github.com/zinja-coder/jadx-ai-mcp/edit/jadx-ai/TROUBLESHOOTING.md)
## 给贡献者的说明
- 与 JADX-AI-MCP 相关的文件可以在此仓库下找到。
- 与 **jadx-mcp-server** 相关的文件可以在[这里](https://github.com/zinja-coder/jadx-mcp-server)找到。
## 如需报告 Bug、问题、功能建议、性能问题、一般性问题或文档问题。
- 请使用相应的模板开启一个 issue。
- 已在 Claude Desktop Client 上测试,对其他 AI 的支持将很快进行测试!
## 🙏 致谢
这个项目是 JADX 的一个插件,JADX 是一个出色的开源 Android 反编译器,由 [@skylot](https://github.com/skylot) 创建和维护。所有核心反编译逻辑归其所有。我只是对其进行了扩展,以支持我的带有 AI 功能的 MCP 服务器。
[📎 原始 README (JADX)](https://github.com/skylot/jadx)
来自 JADX 的原始 README.md 包含在此仓库中,以供参考和致谢。
这个 MCP 服务器之所以成为可能,要归功于 JADX-GUI 的可扩展性以及出色的 Android 逆向工程社区。
同时非常感谢 [@aaddrick](https://github.com/aaddrick) 为基于 Debian 的 Linux 开发了 Claude 桌面版。
最后,感谢 [@anthropics](https://github.com/anthropics) 开发了模型上下文协议,以及 [@FastMCP](https://github.com/modelcontextprotocol/python-sdk) 团队。
除此之外,还要衷心感谢所有作为此项目依赖项并促成此项目的开源项目。
### 依赖项
此项目使用了以下出色的库。
- 插件 - Java
- Javalin - https://javalin.io/ - Apache 2.0 许可证
- SLF4J - https://slf4j.org/ - MIT 许可证
- org.w3c.dom - https://mvnrepository.com/artifact/org.w3c.dom - W3C 软件和文档许可证
- MCP 服务器 - Python
- FastMCP - https://github.com/jlowin/fastmcp - Apache 2.0 许可证
- httpx - https://www.python-httpx.org - BSD-3-Clause (“BSD 许可”)
## 📄 许可证
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` 的开发者对因使用或滥用这些工具而导致的任何损害、数据丢失、法律后果或其他后果概不负责。用户需对其行为及使用所造成的任何影响承担全部责任。
请负责任地使用。尊重知识产权。遵循道德黑客实践。
## 🙌 贡献或支持
- 觉得有用?给它一个 ⭐️
- 有想法?开启一个 [issue](https://github.com/zinja-coder/jadx-ai-mcp/issues) 或提交一个 PR
- 基于此开发了新东西?私信我或提及我 — 我会把它加到 README 中!
- 喜欢我的工作并希望它继续下去?赞助这个项目。
为逆向工程和 AI 社区用 ❤️ 构建。
1. 配置端口:配置 JADX AI MCP 插件将监听的端口。
2. 默认端口:还原更改并监听默认端口。
3. 重启服务器:强制重启 JADX AI MCP 插件服务器。
4. 服务器状态:检查 JADX AI MCP 插件服务器的状态。
要连接运行在自定义端口上的 JADX AI MCP 插件,将使用 `--jadx-port` 选项,如下所示:
```
uv run jadx_mcp_server.py --jadx-port 8652
```
如果 JADX AI MCP 插件运行在**不同的机器**上(例如,JADX 在远程虚拟机上,MCP 服务器在您的本地主机上),请使用 `--jadx-host` 选项:
```
# 连接到远程主机上的 JADX plugin
uv run jadx_mcp_server.py --jadx-host 192.168.1.100 --jadx-port 8650
```
### CLI 参考 — 理解各项标志
有**两个独立的连接**,每个都有自己的主机/端口:
```
┌─────────────┐ --host / --port ┌──────────────────┐ --jadx-host / --jadx-port ┌──────────────────┐
│ LLM Client │ ◄──────────────────► │ jadx-mcp-server │ ──────────────────────────► │ JADX-GUI Plugin │
│ (Claude, │ Where the MCP server │ │ Where the MCP server looks │ (jadx-ai-mcp) │
│ Codex..) │ LISTENS for clients │ │ for the JADX plugin │ │
└─────────────┘ └──────────────────┘ └──────────────────┘
```
| 标志 | 默认值 | 控制 |
|------|---------|----------|
| `--http` | 关闭 | 使用 HTTP 传输代替 stdio |
| `--host` | `127.0.0.1` | **MCP 服务器监听的位置**(LLM 客户端的绑定地址) |
| `--port` | `8651` | **MCP 服务器监听的端口** |
| `--jadx-host` | `127.0.0.1` | **寻找 JADX 插件的位置**(目标 JADX-GUI 机器) |
| `--jadx-port` | `8650` | **JADX 插件所在的端口** |
### 使用示例
**场景 1 — 所有组件都在同一台机器上(最常见):**
```
# 默认:localhost:8651 上的 MCP server,连接到 localhost:8650 上的 JADX plugin
uv run jadx_mcp_server.py --http
```
**场景 2 — Docker 容器或 WSL(可从主机网络访问 MCP 服务器):**
```
# MCP server 监听所有接口,以便主机能够访问它
# JADX plugin 仍在同一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0
```
**场景 3 — JADX-GUI 运行在不同的机器上(例如,远程虚拟机):**
```
# MCP server 在本地运行,但连接到远程机器上的 JADX plugin
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100
```
**场景 4 — 完全远程设置(所有组件都在不同的机器上):**
```
# MCP server 监听端口 9999 上的所有接口
# JADX plugin 位于 192.168.1.100:8652 的另一台机器上
uv run jadx_mcp_server.py --http --host 0.0.0.0 --port 9999 --jadx-host 192.168.1.100 --jadx-port 8652
```
自定义 jadx 端口的 MCP 配置对于 Claude 将如下所示:
```
{
"mcpServers": {
"jadx-mcp-server": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/jadx-mcp-server/",
"run",
"jadx_mcp_server.py",
"--jadx-port",
"8652"
]
}
}
}
```
## 试试看
1. 运行 jadx-gui 并加载任何 .apk 文件

2. 启动 claude - 您必须看到锤子图标

3. 点击 `锤子` 图标,您应该会看到类似以下的内容:

4. 运行以下提示词:
```
fetch currently selected class and perform quick sast on it
```

5. 在出现提示时允许访问:

6. HACK!

此插件允许完全控制 GUI 和内部项目模型,以支持更深入的 LLM 集成,包括:
- 将选定的类导出到 MCP
-运行自动化的 Claude 分析
- 内联回传建议
## 故障排除
[点击这里查看](https://github.com/zinja-coder/jadx-ai-mcp/edit/jadx-ai/TROUBLESHOOTING.md)
## 给贡献者的说明
- 与 JADX-AI-MCP 相关的文件可以在此仓库下找到。
- 与 **jadx-mcp-server** 相关的文件可以在[这里](https://github.com/zinja-coder/jadx-mcp-server)找到。
## 如需报告 Bug、问题、功能建议、性能问题、一般性问题或文档问题。
- 请使用相应的模板开启一个 issue。
- 已在 Claude Desktop Client 上测试,对其他 AI 的支持将很快进行测试!
## 🙏 致谢
这个项目是 JADX 的一个插件,JADX 是一个出色的开源 Android 反编译器,由 [@skylot](https://github.com/skylot) 创建和维护。所有核心反编译逻辑归其所有。我只是对其进行了扩展,以支持我的带有 AI 功能的 MCP 服务器。
[📎 原始 README (JADX)](https://github.com/skylot/jadx)
来自 JADX 的原始 README.md 包含在此仓库中,以供参考和致谢。
这个 MCP 服务器之所以成为可能,要归功于 JADX-GUI 的可扩展性以及出色的 Android 逆向工程社区。
同时非常感谢 [@aaddrick](https://github.com/aaddrick) 为基于 Debian 的 Linux 开发了 Claude 桌面版。
最后,感谢 [@anthropics](https://github.com/anthropics) 开发了模型上下文协议,以及 [@FastMCP](https://github.com/modelcontextprotocol/python-sdk) 团队。
除此之外,还要衷心感谢所有作为此项目依赖项并促成此项目的开源项目。
### 依赖项
此项目使用了以下出色的库。
- 插件 - Java
- Javalin - https://javalin.io/ - Apache 2.0 许可证
- SLF4J - https://slf4j.org/ - MIT 许可证
- org.w3c.dom - https://mvnrepository.com/artifact/org.w3c.dom - W3C 软件和文档许可证
- MCP 服务器 - Python
- FastMCP - https://github.com/jlowin/fastmcp - Apache 2.0 许可证
- httpx - https://www.python-httpx.org - BSD-3-Clause (“BSD 许可”)
## 📄 许可证
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` 的开发者对因使用或滥用这些工具而导致的任何损害、数据丢失、法律后果或其他后果概不负责。用户需对其行为及使用所造成的任何影响承担全部责任。
请负责任地使用。尊重知识产权。遵循道德黑客实践。
## 🙌 贡献或支持
- 觉得有用?给它一个 ⭐️
- 有想法?开启一个 [issue](https://github.com/zinja-coder/jadx-ai-mcp/issues) 或提交一个 PR
- 基于此开发了新东西?私信我或提及我 — 我会把它加到 README 中!
- 喜欢我的工作并希望它继续下去?赞助这个项目。
为逆向工程和 AI 社区用 ❤️ 构建。标签:AI安全, Android, APK分析, Chat Copilot, Claude, CVE检测, DSL, JADX, JS文件枚举, LLM, MCP, MCP Server, Python, Unmanaged PE, URL提取, Zin MCP Suite, 上下文感知, 云资产清单, 人工智能, 代码审查, 反编译, 域名枚举, 大模型, 安卓安全, 插件, 无后门, 用户模式Hook绕过, 网络调试, 自动化, 运行时操纵, 逆向工具, 逆向工程