1.项目概述
JADX-AI-MCP是一个为JADX反编译器设计的插件,通过Model Context Protocol (MCP) 实现与大型语言模型(LLM)的集成,提供实时的Android APK逆向工程支持。
2.核心功能
HTTP服务器:在 JADX GUI 中运行嵌入式 HTTP 服务器,提供 RESTful API
MCP集成:通过 HTTP 接口与 MCP 服务器通信,使 LLM 能够访问反编译的代码
实时代码分析: 支持获取类、方法、字段等代码信息
资源访问: 提供 AndroidManifest.xml、字符串资源等访问能力
代码重构: 支持类、方法、字段和包的重命名操作
调试支持: 集成 JADX 调试器,提供堆栈帧、线程和变量信息
交叉引用分析: 支持查找类、方法和字段的引用关系
Android开发智能调试分析软件V7.5
链接: https://pan.baidu.com/s/1cSibTh8nDMwsEvJ59Oblvg提取码: rx32
鸿蒙安全交流群和移动安全交流群,需要定制版安全测试机型、定制版脱壳机,定制版移动安全分析工具,商务合作,添加作者微信,微信号:cd_ccms_sec
3.技术栈
语言: Java 11+
框架: Javalin 6.7.0 (HTTP 服务器)
构建工具: Maven
依赖管理: Maven Shade Plugin (打包依赖)
日志: SLF4J
4.架构设计
系统架构图┌─────────────────┐│ LLM Client ││ (Claude, etc.) │└────────┬────────┘│ MCP Protocol▼┌─────────────────┐│ JADX MCP Server ││ (Python) │└────────┬────────┘│ HTTP Request▼┌─────────────────┐│ JADX-AI-MCP ││ Plugin Server ││ (Javalin) │└────────┬────────┘│├──► Route Handlers│ ├── ClassRoutes│ ├── MethodRoutes│ ├── ResourceRoutes│ ├── RefactoringRoutes│ ├── DebugRoutes│ └── XrefsRoutes│▼┌─────────────────┐│ JADX GUI ││ (MainWindow) │└─────────────────┘
5.组件交互流程
(1).初始化阶段
插件加载时检查 GUI 模式
延迟启动 HTTP 服务器(等待 JADX 加载完成)
注册菜单项和路由处理器
(2).请求处理流程
MCP 服务器发送 HTTP 请求到插件服务器
路由处理器解析请求参数
通过 MainWindow 访问 JADX API
返回 JSON 格式的响应
(3).生命周期管理
服务器支持动态重启
端口配置持久化存储
优雅关闭机制
6.代码结构
目录结构
src/main/java/com/zin/jadxaimcp/├── JadxAIMCP.java # 主插件类├── server/│ ├── PluginServer.java # HTTP 服务器管理│ └── routes/│ ├── GeneralRoutes.java # 通用路由(健康检查)│ ├── ClassRoutes.java # 类相关操作│ ├── MethodRoutes.java # 方法相关操作│ ├── ResourceRoutes.java # 资源文件操作│ ├── RefactoringRoutes.java # 重构操作│ ├── DebugRoutes.java # 调试器操作│ └── XrefsRoutes.java # 交叉引用操作├── ui/│ └── PluginMenu.java # 插件菜单 UI└── utils/├── PaginationUtils.java # 分页工具类├── JadxAIMCPBanner.java # 横幅显示└── JadxAIMCPPluginError.java # 错误处理工具
包结构说明
com.zin.jadxaimcp: 主包,包含插件入口类com.zin.jadxaimcp.server: 服务器相关类com.zin.jadxaimcp.server.routes: HTTP 路由处理器com.zin.jadxaimcp.ui: 用户界面相关类com.zin.jadxaimcp.utils: 工具类
7.核心模块详解
(1).JadxAIMCP (主插件类)
文件: JadxAIMCP.java
实现JadxPlugin接口,作为插件入口点
管理插件生命周期(初始化、启动、停止)
配置管理(端口设置、持久化)
服务器生命周期管理
关键方法:
| 方法 | 说明 || getPluginInfo() | 返回插件元信息(ID、名称、描述等) || init() | 初始化插件,创建 UI 菜单,启动服务器 || startDelayedInitialization() | 延迟启动服务器,等待 JADX 加载完成 || startServer() | 启动 HTTP 服务器 || restartServer() | 重启服务器 || updatePort() | 更新服务器端口配置 || isServerRunning() | 检查服务器运行状态 || isJadxFullyLoaded() | 检查 JADX 是否已加载完成 |
配置管理:
使用Java Preferences API持久化端口配置
默认端口: 8650
配置键: jadx_ai_mcp_port
延迟初始化机制:
使用 ScheduledExecutorService 定期检查JADX加载状态
初始延迟: 2 秒
检查间隔: 1 秒
超时保护: 30 秒后强制启动
(2). PluginServer (HTTP 服务器)
文件: PluginServer.java
管理 Javalin HTTP 服务器实例
注册所有路由处理器
提供服务器状态查询
关键方法:
| 方法 | 说明 || start() | 启动 Javalin 服务器,注册路由 || stop() | 停止服务器,释放资源 || isRunning() | 返回服务器运行状态 || getPort() | 返回服务器监听端口 || registerRoutes() | 注册所有 API 路由 |
路由注册:
使用Javalin 的 app.get()方法注册GET路由
每个路由对应一个路由处理器的处理方法
路由处理器接收MainWindow和PaginationUtils作为依赖
8.下载地址
https://github.com/zinja-coder/jadx-ai-mcphttps://github.com/zinja-coder/jadx-ai-mcp/releases
Android逆向视频资料(2025)
链接: https://pan.baidu.com/s/18bQwLJgv4vUKgLC-XqtxWg提取码: 46s4
9.使用方法
推荐阅读
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...