Token导航 LogoToken导航TokenDH.com
Jadx MCP Server logo
AI代理stdio官方级别未说明来源级核验

Jadx MCP Server

MCP Server

JADX-MCP-SERVER是一个与JADX-AI-MCP插件交互的Python服务器,通过模型上下文协议(MCP)为本地LLM提供实时安卓APK逆向工程能力,包括漏洞分析、清单解析和代码反编译。

工具数

25

提示词数

0

GitHub Stars

435

资源数

0
逆向工程PythonClaude漏洞检测Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zinja-coder

提供方

zinja-coder

最后核验

2026/5/17 20:47

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run jadx_mcp_server.py --http

详细介绍

JADX-MCP-SERVER(Zin逆向工程MCP套件的一部分)

⚡ 全自动MCP服务器,用于与JADX-AI-MCP插件通信,使用Claude等LLM分析Android APK,轻松发现漏洞、解析清单和逆向工程。

Latest release Java 11+ Python 3.10+ ![License](http://www.apache.org/licenses/LICENSE-2.0.html)

⭐ 贡献者

感谢这些了不起的人的贡献⭐

ljt270864457

badmonkey7

p0px

bx33661

Haicaji

ChineseAStar

cyal1

tainn

ZERO-A-ONE

neoz

SamadiPour

wuseluosi

CainYzb

tbodt

LikNick0101

lwsinclair

阅读文档:

  • 我们现在正在阅读文档:

______________________________________________________________________

立即下载:https://github.com/zinja-coder/jadx-ai-mcp/releases

______________________________________________________________________

🤖 什么是JADX-MCP-SERVER?

JADX MCP服务器 是一个独立的Python服务器,与修改版本的 jadx-gui (参见: jadx-ai-mcp)通过MCP(模型上下文协议)。它允许LLM与反编译的Android应用程序上下文实时通信。

🤖 什么是JADX-AI-MCP?

思考:“分解→ 上下文感知代码审查→ 人工智能建议”——所有这些都是实时的。

高级序列图

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

  • 分析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服务器

______________________________________________________________________

MCP 套件

当前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() --把全班同学都叫来
  • get_main_activity_class() --从AndroidManifest.xml文件中提到的jadx中获取主要活动。
  • get_main_application_classes_code() --根据AndroidManifest.xml中定义的包名获取所有主要应用程序类的代码。
  • get_main_application_classes_names() --根据AndroidManifest.xml中定义的包名获取所有主要应用程序类的名称。
  • get_android_manifest() --检索并返回AndroidManifest.xml内容。
  • get_manifest_component -检索特定的清单组件,而不是整个清单文件
  • get_strings() :获取strings.xml文件
  • get_all_resource_file_names() :检索应用程序中存在的所有资源文件名
  • get_resource_file() :检索资源文件内容
  • rename_variable() :重命名方法中的变量
  • debug_get_stack_frames() :从jaxx调试器获取堆栈帧
  • debug_get_threads() :从jaxx调试器获取线程的见解
  • debug_get_variables() :从jaxx调试器获取变量
  • xrefs_to_class() :查找对类的所有引用(返回方法级和类级引用,支持分页)
  • xrefs_to_method() :查找对方法的所有引用(包括重写相关方法,支持分页)
  • xrefs_to_field() :查找对某个字段的所有引用(返回访问该字段的方法,支持分页)

______________________________________________________________________

注:在Claude Desktop上测试。未来可能会测试对其他LLM的支持。

🗒️ 示例提示

🔍 基本代码理解

"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?"

📦 静态分析

"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?"

______________________________________________________________________

🛠️ 入门指南

阅读这里

演示: 执行代码审查以在本地查找漏洞

https://github.com/user-attachments/assets/4cd26715-b5e6-4b4b-95e4-054de6789f42

高级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         │                  │
└─────────────┘                        └──────────────────┘                               └──────────────────┘
标志默认值控件
--httpoff使用HTTP传输而不是stdio
--host127.0.0.1MCP服务器监听的位置 (绑定LLM客户端的地址)
--port8651MCP服务器监听哪个端口
--jadx-host127.0.0.1在哪里可以找到JADX插件 (目标JADX-GUI机器)
--jadx-port8650JADX插件位于哪个端口

用法示例

场景1——同一台机器上的所有内容(最常见):

# Default: MCP server on localhost:8651, connects to JADX plugin on localhost:8650
uv run jadx_mcp_server.py --http

场景2——Docker容器或WSL(可从主机网络访问的MCP服务器):

# MCP server listens on ALL interfaces so the host can reach it
# JADX plugin is still on the same machine
uv run jadx_mcp_server.py --http --host 0.0.0.0

场景3-JADX-GUI在另一台机器上运行(例如远程VM):

# MCP server runs locally, but connects to JADX plugin on a remote machine
uv run jadx_mcp_server.py --http --jadx-host 192.168.1.100

场景4——完全远程设置(所有内容都在不同的机器上):

# MCP server listens on all interfaces on port 9999
# JADX plugin is on a different machine at 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
\[!小心\] ### ⚠️ 安全警告--远程绑定 使用时 --host 0.0.0.0 (或任何非本地主机地址),MCP服务器绑定到 所有网络接口 结束 无身份验证的纯HTTP这意味着: - 网络上的任何人 可以连接和调用所有MCP工具 - 有 无TLS加密 --交通可以被拦截 - 攻击者可以使用服务器 读取反编译代码, 重命名类/方法,以及 访问调试信息 缓解措施: - 仅绑定到 0.0.0.0可信、隔离的网络 (例如,Docker桥、本地VM) - 使用一个 防火墙 限制对MCP端口的访问 - 考虑一个 SSH隧道 相反: ssh -L 8651:127.0.0.1:8651 remote-host 同样地, --jadx-host 使用非本地主机地址意味着MCP服务器将 未经身份验证的HTTP请求 对那个主人。确保目标是可信的。

🛣️ 未来路线图

  • \[x\] 添加对apktool的支持
  • \[\]添加对hermes代码的支持(ReactNative应用程序)
  • \[\]添加docker支持
  • \[x\] 添加更多有用的MCP工具
  • \[x\] 使LLM能够修改JADX上的代码
  • \[x\] 添加提示模板,让llm访问Android APK文件作为资源
  • \[\]~~构建MCP客户端以支持本地LLM~~
  • \[ \] 最终目标 :使所有android逆向工程和APK修改工具与单个MCP服务器连接,使逆向工程APK文件尽可能简单,纯粹来自vibes。

投稿人须知

  • 可以找到与JADX-AI-MCP相关的文件 这里
  • 与以下内容相关的文件 jadx-mcp服务器 只能在此存储库中找到。

🙏 学分

该项目是JADX的插件,JADX是由创建和维护的一款出色的开源Android反编译器 @skylot所有核心反编译逻辑都属于它们。我只扩展了它来支持我的MCP服务器的AI功能。

📎 原始自述文件(JADX)

jadx的原始README.md包含在此存储库中以供参考和引用。

这个MCP服务器得益于JADX-GUI的可扩展性和令人惊叹的Android逆向工程社区。

也非常感谢 @aaddrick 用于为基于Debian的linux开发Claude桌面。

以及所有开源维护者和贡献者,他们使允许这样的项目的库和依赖关系成为可能。

已审核并获得评估徽章

](https://mseep.ai/app/zinja-coder-jadx-mcp-server)

感谢Mseep.net审核并提供评估徽章。

依赖项

这个项目使用了以下很棒的库。

  • 插件-Java

- 贾瓦林-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/fastmcpApache 2.0许可证 - httpx-https://www.python-httpx.org-BSD-3条款(“BSD许可”)

📄 许可证

此插件继承了原始JADX存储库中的Apache 2.0许可证。

⚖️ 法律警告

免责声明

工具 jadx-ai-mcpjadx_mcp_server 严格用于教育、研究和道德安全评估目的。它们是“按原样”提供的,没有任何明示或暗示的保证。用户全权负责确保他们对这些工具的使用符合所有适用的法律、法规和道德准则。

通过使用 jadx-ai-mcpjadx_mcp_server,您同意仅在您有权测试的环境中使用它们,例如您拥有或有明确权限分析的应用程序。严禁将这些工具用于未经授权的逆向工程、侵犯知识产权或恶意活动。

开发商 jadx-ai-mcpjadx_mcp_server 对于因使用或误用这些工具而导致的任何损害、数据丢失、法律后果或其他后果,概不负责。用户对其行为及其使用造成的任何影响承担全部责任。

负责任地使用。尊重知识产权。遵循合乎道德的黑客行为。

______________________________________________________________________

🙌 贡献或支持

  • 觉得有用吗?给它一个⭐️
  • 有想法吗?打开一个 问题 或提交PR
  • 在上面建东西?DM或提及我——我会将其添加到README中!

______________________________________________________________________

内置于❤️ 面向逆向工程和人工智能社区。

目录标签

目录标签

逆向工程PythonClaude漏洞检测本地部署安卓安全APK分析LLM集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP