返回市场
jadx-MCP服务器

jadx-MCP服务器

作者:zinja-coder212 星标更新:2025-11-21

项目介绍

<div align="center">

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

⚡ 完全自动化的MCP服务器,旨在与JADX-AI-MCP插件通信,使用像Claude这样的大型语言模型(LLMs)分析Android APK,轻松发现漏洞、解析清单文件并进行逆向工程。

GitHub contributors JADX-AI-MCP GitHub contributors JADX-MCP-SERVER GitHub all releases GitHub release (latest by SemVer) Latest release Java 11+ Python 3.10+ License

⭐ 贡献者

感谢这些杰出人士的贡献⭐

<table> <tr align="center"> <td> <a href="https://github.com/badmonkey7"> <img src="https://gips1.baidu.com/it/u=4292136168,2689505650&fm=3081&app=3081&f=JPEG?w=438&h=438" width="30px;" alt=""/> <br /><sub><b>badmonkey7</b></sub> </a> </td> <td> <a href="https://github.com/tiann"> <img src="https://gips3.baidu.com/it/u=2519281999,3564356871&fm=3081&app=3081&f=JPEG?w=460&h=460" width="30px;" alt=""/> <br /><sub><b>tainn</b></sub> </a> </td> <td> <a href="https://github.com/ljt270864457"> <img src="https://gips1.baidu.com/it/u=1103326137,3618293560&fm=3081&app=3081&f=JPEG?w=460&h=460" width="30px;" alt=""/> <br /><sub><b>ljt270864457</b></sub> </a> </td> <td> <a href="https://github.com/ZERO-A-ONE"> <img src="https://gips1.baidu.com/it/u=2439541198,3017953186&fm=3081&app=3081&f=PNG?w=460&h=460" width="30px;" alt=""/> <br /><sub><b>ZERO-A-ONE</b></sub> </a> </td> <td> <a href="https://github.com/neoz"> <img src="https://gips3.baidu.com/it/u=412250619,1270748392&fm=3081&app=3081&f=PNG?w=252&h=252" width="30px;" alt=""/> <br /><sub><b>neoz</b></sub> </a> </td> <td> <a href="https://github.com/SamadiPour"> <img src="https://gips3.baidu.com/it/u=304442657,961624924&fm=3081&app=3081&f=JPEG?w=460&h=460" width="30px;" alt=""/> <br /><sub><b>SamadiPour</b></sub> </a> </td> <td> <a href="https://github.com/wuseluosi"> <img src="https://gips2.baidu.com/it/u=3795219489,1548763439&fm=3081&app=3081&f=PNG?w=420&h=420" width="30px;" alt=""/> <br /><sub><b>wuseluosi</b></sub> </a> </td> <td> <a href="https://github.com/CainYzb"> <img src="https://avatars.githubusercontent.com/u/50669073?v=4" width="30px;" alt=""/> <br /><sub><b>CainYzb</b></sub> </a> </td> <td> <a href="https://github.com/tbodt"> <img src="https://gips1.baidu.com/it/u=353485616,3334637299&fm=3081&app=3081&f=JPEG?w=460&h=460" width="30px;" alt=""/> <br /><sub><b>tbodt</b></sub> </a> </td> <td> <a href="https://github.com/LilNick0101"> <img src="https://gips2.baidu.com/it/u=1236027327,3424768144&fm=3081&app=3081&f=PNG?w=420&h=420" width="30px;" alt=""/> <br /><sub><b>LikNick0101</b></sub> </a> </td> <td> <a href="https://github.com/lwsinclair"> <img src="https://gips1.baidu.com/it/u=2569636476,967744915&fm=3081&app=3081&f=JPEG?w=314&h=314" width="30px;" alt=""/> <br /><sub><b>lwsinclair</b></sub> </a> </td> </tr> </table> </div> <!-- 仍在早期开发阶段——预期会有错误、崩溃和逻辑错误。--> <!-- MCP(模型上下文协议)服务器连接到[JADX](https://github.com/skylot/jadx)的一个自定义插件[JADX-AI-MCP](https://github.com/zinja-coder/jadx-ai-mcp),并直接提供给本地LLMs如Claude Desktop的逆向工程能力。--> <div align="center"> <img alt="banner" height="480px" widht="620px" src="static/image.png"> </div> <!-- ![jadx-mcp-banner](static/image.png) -->

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


🤖 什么是JADX-MCP-SERVER?

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

🤖 什么是JADX-AI-MCP?

JADX-AI-MCP 是一个用于JADX反编译器的插件,它直接集成到模型上下文协议(MCP),以提供实时的AI支持的逆向工程,例如使用Claude这样的LLMs。

思考:“反编译 → 意识到代码审查 → AI建议”——所有这些都是实时进行的。

高级序列图

sequenceDiagram
LLM CLIENT->>JADX MCP SERVER: 调用MCP工具
JADX MCP SERVER->>JADX AI MCP PLUGIN: 发送HTTP请求
JADX AI MCP PLUGIN->>REQUEST HANDLERS: 处理HTTP请求
REQUEST HANDLERS->>JADX GUI: 执行操作/收集数据
JADX GUI->>REQUEST HANDLERS: 操作完成/数据收集完毕
REQUEST HANDLERS->>JADX AI MCP PLUGIN: 构造HTTP响应
JADX AI MCP PLUGIN->>JADX MCP SERVER: 发送HTTP响应
JADX MCP SERVER->>LLM CLIENT: 返回MCP工具结果

观看演示!

  • 快速分析

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 SERVER

Zin 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() — 获取类的smali代码
  • get_main_activity_class() — 根据AndroidManifest.xml文件获取主活动类。
  • get_main_application_classes_code() — 根据AndroidManifest.xml文件中定义的包名获取所有主要应用类的代码。
  • get_main_application_classes_names() — 根据AndroidManifest.xml文件中定义的包名获取所有主要应用类的名称。
  • get_android_manifest() — 获取并返回AndroidManifest.xml的内容。
  • get_strings() :获取strings.xml文件
  • get_all_resource_file_names() :检索应用程序中存在的所有资源文件名
  • get_resource_file() :检索资源文件内容
  • debug_get_stack_frames() :从jadx调试器获取堆栈帧
  • debug_get_threads() :从jadx调试器获取线程信息
  • debug_get_variables() :从jadx调试器获取变量

注意:已在Claude Desktop上测试。未来可能会测试其他LLMs的支持。

🗒️ 示例提示

🔍 基本代码理解

"解释这个类的作用,用一段话概括。"

"总结这个方法的责任。"

"这个类是否有混淆?"

"列出这个类可能需要的所有Android权限。"

🛡️ 漏洞检测

"这个方法中有不安全的API使用吗?"

"检查这个类是否有硬编码的秘密或凭据。"

"这个方法在使用用户输入之前是否进行了清理?"

"这段代码可能引入哪些安全漏洞?"

🛠️ 逆向工程助手

"去混淆并重命名类和方法,使其可读。"

"你能推断出这个smali方法的原始用途吗?"

"这个类似乎属于哪个库或SDK?"

📦 静态分析

"列出这个类中的所有网络相关API调用。"

"识别文件I/O操作及其潜在风险。"

"这个方法是否会泄露设备信息或个人身份信息(PII)?"

🤖 AI代码修改

"重构这个方法以提高可读性。"

"在这个代码中添加注释,解释每一步。"

"将这个Java方法改写成Python进行分析。"

📄 文档和元数据

"为所有方法生成类似于Javadoc的注释。"

"这个类很可能属于哪个包或应用组件?"

"你能确定Android组件类型(Activity、Service等)吗?"

🐞 调试助手

   "从调试器获取堆栈帧、变量和线程,并提供摘要"

   "基于调试器中的堆栈帧,解释应用程序的执行流程"

   "根据变量的状态,是否存在安全威胁?"

🛠️ 开始使用

阅读这里

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

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

🛣️ 未来路线图

  • 添加对apktool的支持

  • 添加对Hermes代码的支持(ReactNative应用程序)

  • 添加Docker支持

  • 添加更多有用的MCP工具

  • 让LLM能够修改JADX中的代码

  • 添加提示模板,让LLM访问Android APK文件作为资源

  • 构建支持本地LLM的MCP客户端

  • 最终目标:使所有Android逆向工程和APK修改工具都能连接到单个MCP服务器,尽可能简化APK文件的逆向工程过程。

贡献者注意事项

  • 与JADX-AI-MCP相关的文件可以在这里找到

  • jadx-mcp-server相关的文件仅在此仓库中可以找到。

🙏 致谢

此项目是一个插件,用于JADX,这是一个由@skylot创建和维护的出色开源Android反编译器。所有的核心反编译逻辑都归他们所有。我只是扩展了它,以支持我的具有AI能力的MCP服务器。

📎 原始README(JADX)

JADX的原始README.md已包含在此仓库中,供参考和致谢。

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

还要特别感谢@aaddrick为Debian基于Linux的系统开发了Claude桌面。

最后感谢@anthropics开发了模型上下文协议以及@FastMCP团队。

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

审计和获得评估徽章

MseeP.ai 安全评估徽章

感谢Mseep.net进行审计并提供评估徽章。

依赖项

此项目使用以下优秀的库。

📄 许可证

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

⚖️ 法律警告

免责声明

工具jadx-ai-mcp和`jadx