Token导航 LogoToken导航TokenDH.com
Apk MCP Auto logo
安全风控stdio官方级别未说明来源级核验

Apk MCP Auto

MCP Server

基于MCP协议的Android逆向工程工具套件,提供APK反编译、动态分析、静态分析等功能,适用于安全研究和应用调试。

工具数

76

提示词数

0

GitHub Stars

59

资源数

0
PythonClaude安全Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kggzs

提供方

kggzs

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python apkmcp.py install

详细介绍

Android 逆向工程 MCP 工具套件

⚡ 基于 Model Context Protocol (MCP) 的 Android APK 自动化逆向工程工具套件

![Python](https://www.python.org/) ![Java](https://openjdk.org/) ![License](https://www.apache.org/licenses/LICENSE-2.0)


项目简介

本项目是一个 Android 逆向工程工具集合,通过 MCP (Model Context Protocol) 协议将 AI 助手与专业的 Android 反编译工具连接起来,实现智能化的 APK 分析与修改。

包含组件

组件说明路径
JADX MCP Server与 JADX-GUI 集成的 MCP 服务器,提供实时反编译分析tools/jadx/
APKTool MCP Server基于 APKTool 的 MCP 服务器,支持 APK 解码/编码与 Smali 修改tools/apktool/
ADB MCP ServerAndroid Debug Bridge MCP 服务器,提供设备管理和调试功能tools/adb/
Sign Tools MCP ServerAPK 签名工具 MCP 服务器,支持密钥管理和签名验证tools/sign-tools/
Static Analyzer静态分析增强工具,提供权限、字符串、SDK 识别tools/static-analyzer/
Diff Tool文件对比工具,支持 APK、Smali、资源文件对比tools/diff/
Frida MCP Server动态插桩分析工具,支持 Hook 和内存操作tools/frida/

功能特性

JADX MCP Server

  • 实时获取当前选中的类代码
  • 搜索类、方法、字段
  • 获取 AndroidManifest.xml 内容
  • 获取资源文件(strings.xml 等)
  • 重命名类/方法/字段/变量(代码重构)
  • 调试器集成(获取堆栈帧、线程、变量)
  • 交叉引用分析(查找类/方法/字段的引用)
  • 支持分页查询大结果集

APKTool MCP Server

  • APK 解码与编码(反编译/重打包)
  • Smali 代码浏览与修改
  • 资源文件管理
  • 项目结构分析
  • 文件内容搜索
  • 自动备份机制
  • 工作空间管理

ADB MCP Server

  • 设备连接状态管理
  • APK 安装/卸载
  • 应用包信息查询
  • 日志捕获(logcat)
  • Shell 命令执行
  • 文件传输(push/pull)
  • 屏幕截图
  • 应用启动/停止控制

Sign Tools MCP Server

  • 密钥库生成与管理
  • APK 签名(V1/V2/V3)
  • 签名验证
  • zipalign 对齐优化
  • 密钥信息查询

Static Analyzer

  • 权限分析(识别危险权限)
  • 字符串资源提取
  • URL/IP/API 端点提取
  • 第三方 SDK 识别
  • 完整静态分析报告

Diff Tool

  • APK 文件对比
  • Smali 文件行级对比
  • 资源目录对比
  • 通用文本文件对比

Frida MCP Server

  • 进程列表和附加
  • JavaScript 脚本注入
  • 函数 Hook
  • 网络请求拦截
  • 内存扫描和读写
  • 模块枚举

系统要求

环境版本要求
WindowsWindows 10/11
Python3.10 或更高版本
JavaOpenJDK 17 (已包含在 tools/bin/jre 中)
内存建议 8GB 或更高

快速开始

1. 安装依赖

使用统一命令行工具安装所有依赖:

# 安装所有工具的依赖
python apkmcp.py install

# 或安装指定工具的依赖
python apkmcp.py install apktool

2. 生成 MCP 配置

# 生成 MCP 配置文件(保存到 .trae/config.json)
python apkmcp.py config

# 预览配置内容
python apkmcp.py config -p

# 保存到指定路径
python apkmcp.py config -o my-config.json

3. 启动 MCP Servers

方式一:使用统一命令行工具(推荐)

# 查看工具状态
python apkmcp.py status

# 列出所有工具
python apkmcp.py list

# 启动指定工具
python apkmcp.py start apktool

方式二:使用启动脚本

# 启动所有服务器
python start_all_servers.py

# 启动指定服务器
python start_all_servers.py --servers jadx,apktool,adb

# 使用 Windows 批处理脚本
start-servers.bat all

方式三:手动启动

# 启动 JADX MCP Server(Java 版本)
cd tools/jadx
tools/bin/jre/bin/java.exe -jar server.jar

# 启动 APKTool MCP Server
python tools/apktool/server.py --workspace tools/workspace/apktool --apktool-path tools/bin/apktool.bat

# 启动 ADB MCP Server
python tools/adb/server.py --adb-path tools/bin/adb.exe

# 启动 Sign Tools MCP Server
python tools/sign-tools/server.py --workspace tools/workspace/sign-tools

# 启动 Static Analyzer
python tools/static-analyzer/server.py

# 启动 Diff Tool
python tools/diff/server.py

# 启动 Frida MCP Server
python tools/frida/server.py

配置 MCP 客户端

Trae IDE 配置

在 Trae IDE 中使用本项目,配置已自动生成到 .trae/config.json,所有路径使用相对路径:

{
  "mcpServers": {
    "jadx-mcp-server": {
      "type": "stdio",
      "enabled": true,
      "description": "JADX MCP 服务器 - Java 反编译分析",
      "command": "tools/bin/jre/bin/java.exe",
      "args": ["-jar", "tools/jadx/server.jar"]
    },
    "apktool-mcp-server": {
      "type": "stdio",
      "enabled": true,
      "description": "APKTool MCP 服务器 - APK 解码/编码",
      "command": "python",
      "args": [
        "tools/apktool/server.py",
        "--workspace", "tools/workspace/apktool",
        "--apktool-path", "tools/bin/apktool.bat"
      ]
    },
    "adb-mcp-server": {
      "type": "stdio",
      "enabled": true,
      "description": "ADB MCP 服务器 - 设备管理和调试",
      "command": "python",
      "args": [
        "tools/adb/server.py",
        "--adb-path", "tools/bin/adb.exe"
      ]
    },
    "sign-tools-mcp-server": {
      "type": "stdio",
      "enabled": true,
      "description": "签名工具 MCP 服务器 - APK 签名和密钥管理",
      "command": "python",
      "args": [
        "tools/sign-tools/server.py",
        "--workspace", "tools/workspace/sign-tools"
      ]
    },
    "static-analyzer": {
      "type": "stdio",
      "enabled": true,
      "description": "静态分析工具 - 权限、字符串、SDK 识别",
      "command": "python",
      "args": ["tools/static-analyzer/server.py"]
    },
    "diff-tool": {
      "type": "stdio",
      "enabled": true,
      "description": "文件对比工具 - APK、Smali、资源对比",
      "command": "python",
      "args": ["tools/diff/server.py"]
    },
    "frida-mcp-server": {
      "type": "stdio",
      "enabled": true,
      "description": "Frida MCP 服务器 - 动态插桩分析",
      "command": "python",
      "args": ["tools/frida/server.py"]
    }
  }
}

配置说明:

  • 所有路径使用相对路径,项目可以移动到任意位置使用
  • 运行 python apkmcp.py config 可自动重新生成配置

使用示例

分析 APK 文件

# 使用 APKTool MCP Server 解码 APK
请帮我解码 APK 文件 test.apk

# 分析完成后可以查看
- AndroidManifest.xml
- Smali 代码
- 资源文件
- 项目结构

代码审查与安全分析

# 使用 JADX MCP Server 分析代码
请帮我分析当前选中的类是否存在安全漏洞

# 搜索特定代码模式
搜索包含 "AES" 加密的类

# 查找引用
查找哪些方法调用了 sendRequest 方法

设备调试

# 使用 ADB MCP Server 连接设备
列出已连接的 Android 设备

# 安装 APK
安装 APK 文件到设备

# 获取日志
捕获应用的日志信息

APK 签名

# 使用 Sign Tools MCP Server 生成密钥
生成一个新的密钥库用于签名

# 签名 APK
对修改后的 APK 进行签名

# 验证签名
验证 APK 签名是否正确

静态分析

# 使用 Static Analyzer 分析 APK
分析 APK 的权限和潜在风险

# 提取字符串
提取 APK 中的所有字符串资源

# 识别 SDK
识别 APK 中使用的第三方 SDK

文件对比

# 使用 Diff Tool 对比 APK
对比原始 APK 和修改后的 APK

# 对比 Smali 文件
对比两个 Smali 文件的差异

动态分析

# 使用 Frida MCP Server 进行动态分析
列出设备上运行的进程

# Hook 函数
Hook 目标应用的指定函数

# 拦截网络请求
拦截应用的网络通信

提示词模板

本项目提供了专门的 APK 逆向工程分析提示词模板,方便快速进行各类分析:

提示词模板文件

📄 文件位置: prompt_template.md

包含的提示词类型

提示词用途输出报告
通用 APK 分析全面的 APK 信息提取和分析分析报告.md
广告去除专项定位广告 SDK 和去除方案广告分析报告.md
会员破解专项分析会员验证机制会员分析报告.md
加固分析专项识别加固方案和脱壳建议加固分析报告.md
网络分析专项分析网络通信和拦截点网络分析报告.md
综合逆向分析完整的逆向工程流程逆向分析报告.md

使用方法

  1. 打开 prompt_template.md 文件
  2. 选择需要的提示词模板
  3. 复制到 AI 助手
  4. 替换 [APK文件路径][工作目录]
  5. AI 会自动调用 MCP 工具执行分析并生成报告

项目结构

ApkMCP-Auto/
├── .trae/
│   └── config.json                 # MCP 配置(自动生成,相对路径)
├── tools/                          # 统一工具目录
│   ├── adb/                        # ADB MCP Server
│   │   ├── server.py
│   │   └── requirements.txt
│   ├── apktool/                    # APKTool MCP Server
│   │   ├── server.py
│   │   └── requirements.txt
│   ├── bin/                        # 二进制工具目录
│   │   ├── adb.exe
│   │   ├── apktool.jar
│   │   ├── apktool.bat
│   │   ├── jadx-gui.exe
│   │   └── jre/                    # Java 运行时
│   ├── diff/                       # Diff Tool
│   │   ├── server.py
│   │   └── requirements.txt
│   ├── frida/                      # Frida MCP Server
│   │   ├── server.py
│   │   └── requirements.txt
│   ├── jadx/                       # JADX MCP Server
│   │   ├── server.jar
│   │   └── requirements.txt
│   ├── sign-tools/                 # Sign Tools MCP Server
│   │   ├── server.py
│   │   └── requirements.txt
│   ├── static-analyzer/            # Static Analyzer
│   │   ├── server.py
│   │   └── requirements.txt
│   └── workspace/                  # 工作空间
│       ├── apktool/
│       └── sign-tools/
├── apkmcp.py                       # 统一命令行工具
├── start_all_servers.py            # 启动所有服务器的脚本
├── start-servers.bat               # Windows 启动脚本
├── prompt_template.md              # APK 逆向分析提示词模板
└── README.md                       # 本文件

可用 MCP 工具

JADX MCP Server 工具

工具名功能描述
fetch_current_class获取当前选中的类
get_class_source获取指定类的源代码
get_all_classes列出所有类(支持分页)
search_classes_by_keyword按关键词搜索类
get_method_by_name获取指定方法的代码
get_methods_of_class列出类的所有方法
get_fields_of_class列出类的所有字段
get_smali_of_class获取类的 Smali 代码
get_android_manifest获取 AndroidManifest.xml
get_strings获取字符串资源
get_resource_file获取资源文件内容
rename_class重命名类
rename_method重命名方法
rename_field重命名字段
rename_variable重命名变量
debug_get_stack_frames获取调试堆栈帧
debug_get_variables获取调试变量
get_xrefs_to_class查找类的交叉引用
get_xrefs_to_method查找方法的交叉引用

APKTool MCP Server 工具

工具名功能描述
decode_apk解码 APK 文件
build_apk从项目构建 APK
get_manifest获取 AndroidManifest.xml
get_apktool_yml获取 apktool.yml
list_smali_directories列出 Smali 目录
list_smali_files列出 Smali 文件(支持分页)
get_smali_file获取 Smali 文件内容
modify_smali_file修改 Smali 文件
list_resources列出资源文件
get_resource_file获取资源文件内容
modify_resource_file修改资源文件
search_in_files在文件中搜索
analyze_project_structure分析项目结构
clean_project清理项目
get_workspace_info获取工作空间信息
health_check健康检查

ADB MCP Server 工具

工具名功能描述
health_check服务器健康检查
list_devices列出已连接设备
get_device_info获取设备详细信息
install_apk安装 APK 文件
uninstall_package卸载应用包
get_package_info获取应用包信息
get_logcat获取设备日志
clear_logcat清除日志缓冲区
execute_shell执行 Shell 命令
push_file推送文件到设备
pull_file从设备拉取文件
screenshot截取屏幕
list_packages列出已安装应用
start_activity启动 Activity
force_stop_package强制停止应用

Sign Tools MCP Server 工具

工具名功能描述
health_check服务器健康检查
generate_keystore生成密钥库
list_keystores列出所有密钥库
get_keystore_info获取密钥库信息
delete_keystore删除密钥库
sign_apk签名 APK 文件
verify_signature验证 APK 签名
zipalign_apk对齐优化 APK
get_workspace_info获取工作空间信息

Static Analyzer 工具

工具名功能描述
analyze_permissions分析权限
extract_strings提取字符串资源
extract_endpoints提取 URL/IP/API 端点
identify_sdks识别第三方 SDK
full_analysis执行完整分析

Diff Tool 工具

工具名功能描述
compare_apks对比两个 APK 文件
compare_smali对比两个 Smali 文件
compare_resources对比两个资源目录
compare_text_files对比两个文本文件

Frida MCP Server 工具

工具名功能描述
list_processes列出运行中的进程
attach_process附加到指定进程
spawn_process启动新进程
inject_script注入 JavaScript 脚本
hook_functionHook 指定函数
intercept_network拦截网络请求
scan_memory扫描内存
read_memory读取内存
write_memory写入内存
enumerate_modules枚举加载的模块
enumerate_exports枚举模块导出函数

技术栈

  • Python 3.10+ - MCP Server 开发
  • FastMCP - MCP 协议实现
  • httpx - HTTP 客户端
  • APKTool 3.0+ - APK 反编译/重打包
  • JADX 1.5+ - Android Dex 反编译
  • Java 17 - JADX 运行环境
  • ADB - Android 调试桥
  • Frida - 动态插桩框架

命令行参数

apkmcp.py 统一命令行工具

命令说明示例
status查看工具状态python apkmcp.py status
list列出所有工具python apkmcp.py list
config生成 MCP 配置python apkmcp.py config -p
install [tool]安装依赖python apkmcp.py install apktool
start 启动指定工具python apkmcp.py start apktool

各 MCP Server 通用参数

参数默认值说明
--httpFalse启用 HTTP 传输模式
--host127.0.0.1MCP 服务器监听地址
--port各工具不同MCP 服务器端口

各工具默认端口

工具默认端口
JADX8651
APKTool8652
ADB8653
Sign Tools8654
Static Analyzer8655
Diff Tool8656
Frida8657

工作流程

┌─────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  AI 助手    │◄───►│   MCP Server    │◄───►│   JADX/APKTool  │
│ (Claude等)  │     │ (Python FastMCP)│     │  (Java/命令行)  │
└─────────────┘     └─────────────────┘     └─────────────────┘
       │                     │                      │
       │  1. 发送 MCP 请求    │                      │
       │────────────────────>│                      │
       │                     │  2. 调用工具         │
       │                     │─────────────────────>│
       │                     │                      │
       │                     │  3. 返回结果         │
       │                     │<─────────────────────│
       │  4. 返回 MCP 响应    │                      │
       │<────────────────────│                      │

报告生成

使用提示词模板进行分析后,会自动生成结构化的 Markdown 报告:

报告类型

报告名称内容保存位置
分析报告.md通用 APK 分析报告[工作目录]/分析报告.md
广告分析报告.md广告 SDK 识别和去除方案[工作目录]/广告分析报告.md
会员分析报告.md会员验证机制分析[工作目录]/会员分析报告.md
加固分析报告.md加固识别和脱壳方案[工作目录]/加固分析报告.md
网络分析报告.md网络通信分析[工作目录]/网络分析报告.md
逆向分析报告.md综合逆向工程报告[工作目录]/逆向分析报告.md

报告内容结构

每个报告通常包含:

  1. 执行摘要 - 分析目标和主要发现
  2. 应用概况 - 基本信息和技术栈
  3. 详细分析 - 代码位置、逻辑分析
  4. 解决方案 - 修改方案和实施步骤
  5. 风险评估 - 技术、安全、法律风险
  6. 附录 - 代码片段、工具配置

安全提示

  1. 仅用于合法的安全研究和学习目的
  2. 仅分析您拥有合法权限的应用程序
  3. 不要将 MCP Server 绑定到公网地址(使用 --host 0.0.0.0 时请注意)
  4. APK 修改后需要重新签名才能安装
  5. 分析完成后记得关闭 MCP 工具连接,释放资源

许可证

本项目采用 Apache License 2.0 开源许可证。


致谢

  • JADX - 优秀的 Android 反编译工具
  • APKTool - 强大的 APK 反编译/重打包工具
  • FastMCP - Python MCP SDK
  • Anthropic MCP - Model Context Protocol
  • Frida - 动态插桩工具包

Made with ❤️ for Android Reverse Engineering

目录标签

目录标签

PythonClaude安全Android逆向工程本地部署APK分析安全研究动态插桩静态分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

76

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP