一、软件介绍
文末提供程序和源码下载
JADX-MCP-SERVER(Zin 逆向工程 MCP 套件的一部分)全自动 MCP 服务器旨在与 JADX-AI-MCP 插件通信,以使用 Claude 等工具LLMs分析 Android APK — 轻松发现漏洞、解析清单和逆向工程。
二、什么是 JADX-MCP-SERVER?
JADX MCP 服务器是一个独立的 Python 服务器,它通过 MCP(模型上下文协议)与 (请参阅:jadx-ai-mcp) 的修改版本 jadx-gui 进行交互。它允许与反编译的 Android 应用程序上下文实时LLMs通信。
三、什么是 JADX-AI-MCP?
JADX-AI-MCP 是 JADX 反编译器的插件,它直接与模型上下文协议 (MCP) 集成,以提供与 Claude 一样的LLMs实时逆向工程支持。
Think: "Decompile → Context-Aware Code Review → AI Recommendations" — all in real time. 想一想:“→ Context-Aware Code Review → AI Recommendations”进行反编译 — 所有这些都是实时的。
四、Current MCP Tools 当前的 MCP 工具
The following MCP tools are available: 以下 MCP 工具可用:
- fetch_current_class() — Get the class name and full source of selected class fetch_current_class() — 获取所选类的类名和完整源代码
- get_selected_text() — Get currently selected text get_selected_text() — 获取当前选定的文本
- get_all_classes() — List all classes in the project get_all_classes() — 列出项目中的所有类
- get_class_source() — Get full source of a given class get_class_source() — 获取给定类的完整源代码
- get_method_by_name() — Fetch a method’s source get_method_by_name() — 获取方法的源
- search_method_by_name() — Search method across classes search_method_by_name() — 跨类的搜索方法
- get_methods_of_class() — List methods in a class get_methods_of_class() — 列出类中的方法
- get_fields_of_class() — List fields in a class get_fields_of_class() — 列出类中的字段
- get_smali_of_class() — Fetch smali of class
- get_main_activity_class() — Fetch main activity from jadx mentioned in AndroidManifest.xml file. get_main_activity_class() — 从文件中提到的 jadx 获取AndroidManifest.xml 主活动。
- get_main_application_classes_code() — Fetch all the main application classes' code based on the package name defined in the AndroidManifest.xml. get_main_application_classes_code() — 根据 AndroidManifest.xml 中定义的软件包名称获取所有主要应用程序类的代码。
- get_main_application_classes_names() — Fetch all the main application classes' names based on the package name defined in the AndroidManifest.xml. get_main_application_classes_names() — 根据 AndroidManifest.xml 中定义的软件包名称获取所有主要应用程序类的名称。
- get_android_manifest() — Retrieve and return the AndroidManifest.xml content. get_android_manifest() — 检索并返回AndroidManifest.xml内容。
五、Sample Prompts 🗒️ 示例提示
Basic Code Understanding 🔍 基本代码理解
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><code>"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."
</code></span></span></span></span>
🛡️ Vulnerability Detection 🛡️ 漏洞检测
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><code>"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?"
</code></span></span></span></span>
🛠️ Reverse Engineering Helpers 🛠️ 逆向工程帮助程序
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><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?"
</code></span></span></span></span>
📦 Static Analysis 📦 静态分析
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><code>"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?"
</code></span></span></span></span>
🤖 AI Code Modification 🤖 AI 代码修改
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><code>"Refactor this method to improve readability."
"Add comments to this code explaining each step."
"Rewrite this Java method in Python for analysis."
</code></span></span></span></span>
📄 Documentation & Metadata 📄 文档和元数据
<span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(–fgColor-default, var(–color-fg-default))"><span style="background-color:var(–bgColor-muted, var(–color-canvas-subtle))"><code>"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.)?"
</code></span></span></span></span>
六、🛠️ Getting Started 🛠️ 开始
使用 Ollama 和 Zin MCP 客户端在本地LLM运行 – 推荐
用于 STDIO MCP 服务器的轻量级、快速、简单、基于 CLI 的 MCP 客户端,以填补空白并在您本地LLMs运行的 Ollama 和 MCP 服务器之间架起桥梁。
七、软件下载
夸克网盘分享
本文信息来源于GitHub作者地址:https://github.com/zinja-coder/jadx-mcp-server
评论前必须登录!
注册