jadx-mcp-server
zinja-coder · zinja-coder/jadx-mcp-server
Một MCP server tích hợp với JADX-AI Plugin, cho phép các LLM như Claude phân tích các APK Android để phát hiện lỗ hổng và thực hiện các tác vụ đảo ngược kỹ thuật.
MCP server for JADX-AI Plugin
Xem trước
Bạn có thể làm gì với nó
- Tự động hóa việc phân tích APK Android để tìm lỗ hổng bảo mật bằng tác nhân AI.
- Để tác nhân AI phân tích và hiểu tệp manifest của một ứng dụng Android.
- Sử dụng một LLM để đảo ngược kỹ thuật các ứng dụng Android phức tạp cho các cuộc kiểm tra bảo mật.
Kiểm tra an toàn
Không thấy dấu hiệu rủi ro trong các file đã quét.
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
JADX-MCP-SERVER (Part of Zin's Reverse Engineering MCP Suite)
⚡ Fully automated MCP server built to communicate with JADX-AI-MCP Plugin to analyze Android APKs using LLMs like Claude — uncover vulnerabilities, parse manifests, and reverse engineer effortlessly.
⭐ Contributors
Thanks to these wonderful people for their contributions ⭐
<b>ljt270864457</b>
<b>badmonkey7</b>
<b>p0px</b>
<b>bx33661</b>
<b>Haicaji</b>
<b>Mostafa Nazari</b>
<b>ChineseAStar</b>
<b>cyal1</b>
<b>tainn</b>
<b>ZERO-A-ONE</b>
<b>neoz</b>
<b>SamadiPour</b>
<b>wuseluosi</b>
<b>CainYzb</b>
<b>tbodt</b>
<b>LilNick0101</b>
<b>lwsinclair</b>
<b>LYC-Android</b>
<b>zbhello</b>
<b>1yearning1</b>
<b>mhsjzsq</b>
<b>darkblack1234</b>
<b>Merrg1n</b>
ReadTheDocs:
- We are now live at Read The Docs:
Download now: https://github.com/zinja-coder/jadx-ai-mcp/releases
🤖 What is JADX-MCP-SERVER?
JADX MCP Server is a standalone Python server that interacts with a modified version of jadx-gui (see: jadx-ai-mcp) via MCP (Model Context Protocol). It lets LLMs communicate with the decompiled Android app context live.
🤖 What is JADX-AI-MCP?
JADX-AI-MCP is a plugin for the JADX decompiler that integrates directly with Model Context Protocol (MCP) to provide live reverse engineering support with LLMs like Claude.
Think: "Decompile → Context-Aware Code Review → AI Recommendations" — all in real time.
High Level Sequence Diagram
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
Watch the demos!
- Perform quick analysis
https://github.com/user-attachments/assets/b65c3041-fde3-4803-8d99-45ca77dbe30a
- Quickly find vulnerabilities
https://github.com/user-attachments/assets/c184afae-3713-4bc0-a1d0-546c1f4eb57f
- Multiple AI Agents Support
https://github.com/user-attachments/assets/6342ea0f-fa8f-44e6-9b3a-4ceb8919a5b0
- Analyze The APK Resources
https://github.com/user-attachments/assets/f42d8072-0e3e-4f03-93ea-121af4e66eb1
- Your AI Assistant during debugging of APK using JADX
https://github.com/user-attachments/assets/2b0bd9b1-95c1-4f32-9b0c-38b864dd6aec
It is combination of two tools:
- JADX-AI-MCP
- JADX MCP SERVER
Zin MCP Suite
Current MCP Tools
The following MCP tools are available:
fetch_current_class()— Get the class name and full source of selected classget_selected_text()— Get currently selected textget_all_classes()— List all classes in the projectget_class_source()— Get full source of a given class (with_line_numbers=Trueto number the lines foradd_comment(line=...))get_method_by_name()— Fetch a method’s sourcesearch_method_by_name()— Search method across classessearch_classes_by_keyword()— Search for classes whose source code contains a specific keyword (supports pagination)get_methods_of_class()— List methods in a classget_fields_of_class()— List fields in a classget_smali_of_class()— Fetch smali of classget_main_activity_class()— Fetch main activity from jadx mentioned in AndroidManifest.xml file.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_names()— Fetch all the main application classes' names based on the package name defined in the AndroidManifest.xml.get_android_manifest()— Retrieve and return the AndroidManifest.xml content.get_manifest_component- Retrieve specific manifest component instead of whole manifest fileget_strings(): Fetches the strings.xml fileget_all_resource_file_names(): Retrieve all resource files names that exists in applicationget_resource_file(): Retrieve resource file contentrename_variable(): Renames the variable within a methodadd_comment(): Adds a comment to a class, method, field or a single code line (line=), shown in JADX-GUI and saved with the project (re-commenting the same target updates it, an empty comment removes it)list_comments(): Lists the comments stored in the project, optionally filtered to one classdebug_get_stack_frames(): Get the stack frames from jadx debugger- `debug_get