郑重声明:本文仅做技术分享,工具仅限授权安全测试与学术研究使用,禁止用于任何未经授权的逆向工程活动。
重点导读概述
JADX-AI-MCP是一款专为JADX反编译器设计的智能插件,通过集成Model Context Protocol(MCP)协议,实现AI大模型与反编译代码的实时双向通信。该工具将传统APK逆向分析流程进行彻底革新——从手动逐行阅读反编译代码,跃升为AI驱动的自动化代码审查、漏洞挖掘与代码重构建议。
项目采用双组件架构:Java编写的JADX插件负责与JADX-GUI深度集成,Python编写的MCP Server负责作为AI客户端与插件之间的通信桥梁。两者通过HTTP协议进行进程间通信,支持stdio与HTTP两种传输模式,兼容Claude Desktop、Cherry Studio、LMStudio等主流AI客户端。
重点导读核心架构
PART 01通信流程
LLM Client → JADX MCP Server → JADX AI MCP Plugin → JADX GUI
MCP Server监听AI客户端的工具调用请求,通过HTTP向JADX插件发送指令,插件操作GUI完成代码检索后返回结果,整个过程对AI保持透明的上下文感知。
PART 02插件初始化
插件继承JadxPlugin接口,在init方法中完成以下初始化:
- 获取MainWindow实例,建立与JADX-GUI的连接
- 加载用户配置的端口偏好(默认8650)
- 延迟启动机制:等待JADX完成APK加载后再启动HTTP Server
- 30秒超时兜底:防止JADX加载异常导致服务永久阻塞
PART 03HTTP服务层
基于Javalin构建的PluginServer处理以下路由:
- 健康检查:
/health - 类查询:
/current-class、/all-classes、/class-source - 方法检索:
/method-by-name、/search-method - 交叉引用:
/xrefs-to-class、/xrefs-to-method、/xrefs-to-field - 资源访问:
/manifest、/strings - 重构操作:
/rename-class、/rename-method、/rename-field、/rename-package - 调试支持:
/debug/stack-frames、/debug/variables、/debug/threads
PART 04MCP工具集
项目提供超过25个MCP工具,涵盖代码导航、静态分析、重构操作三大类别。
重点导读功能特性
PART 05代码理解
- fetch_current_class:获取当前选中类的完整源码
- get_all_classes:列出项目中所有类
- get_class_source:获取指定类的完整源码
- search_classes_by_keyword:基于关键词搜索类,支持分页
PART 06安全分析
- 检测硬编码凭证与密钥
- 识别不安全API调用模式
- 分析Android权限滥用风险
- 检查用户输入是否经过正确消毒
PART 07逆向工程辅助
- get_smali_of_class:获取类的SMALI中间表示
- get_main_activity_class:定位应用主Activity
- get_android_manifest:解析AndroidManifest.xml
- 反混淆建议:基于代码模式推断原始标识符含义
PART 08AI代码交互
- 变量重命名:rename_variable
- 类/方法/字段重命名:rename_class/rename_method/rename_field
- 包重命名:rename_package
- 自动化代码审查与漏洞报告生成
PART 09调试支持
- 获取当前栈帧:debug_get_stack_frames
- 获取线程信息:debug_get_threads
- 获取变量状态:debug_get_variables
重点导读技术实现
PART 10依赖组件
Java端依赖:
- JADX Core(1.5.5):反编译引擎
- Javalin(6.7.0):HTTP Server
- Gson(2.10.1):JSON序列化
Python端依赖:
- FastMCP:MCP协议实现
- httpx:HTTP客户端
PART 11端口配置
插件支持自定义端口,通过Preferences API持久化配置。MCP Server可通过--jadx-port参数指定远程JADX插件的连接地址,支持跨机器部署场景。
PART 12安全模式
远程绑定(--host 0.0.0.0)时明确提示:无TLS加密、无认证机制,仅限可信隔离网络使用。
重点导读应用场景
- 安全审计:自动化检测APK中的安全漏洞
- 恶意软件分析:AI辅助快速理解恶意代码逻辑
- 漏洞挖掘:LLM驱动的自动化漏洞模式识别
- 代码审查:实时获取AI对反编译代码的审查意见
- 逆向工程:反混淆与原始代码结构推断
重点导读部署方式
PART 13插件安装
通过jadx命令安装:jadx plugins --install "github:zinja-coder:jadx-ai-mcp"
或下载JAR包通过JADX-GUI手动安装。
PART 14MCP Server配置
以uv方式运行:
bashuv run jadx_mcp_server.py --http
配置AI客户端MCP配置,指定uv路径与jadx-mcp-server目录。
重点导读项目地址
本公众号非项目作者,仅做技术分享。
https://github.com/zinja-coder/jadx-ai-mcp
广告时间
低价考证包括但不限于CISP系列、PMP等等国内网安证书、网络安全交流群请关注公众号后点菜单栏的找棉花糖。
糖心会员站,网络安全必备网站,包括在线内网靶场、web靶场、src靶场、应急响应靶场,以及各种网安资料、教程、方案模版、以及超级多在线工具,99元包年!详细介绍:棉花糖会员站介绍(26年4月26日版本) :在线内网靶场、网安资料方案、在线工具全能资源站,看完介绍百分百心动!
夜雨聆风