返回市场
DJEB_MCP服务器

DJEB_MCP服务器

作者:dPhoeniixx4 星标更新:2025-11-18

项目介绍

JEB MCP 服务器

这是一个模型上下文协议(MCP)服务器,用于连接 Claude Desktop 和 JEB 反编译器以进行 Android APK 分析。此集成使用户能够在 Claude 中直接执行AI辅助的逆向工程工作流程。

功能

  • 反编译:将 DEX 文件中的方法和类反编译为 Java 源代码
  • 代码导航:列出类、搜索资源并探索交叉引用
  • 批量重命名:批量重命名类、方法、字段和局部变量
  • 资源分析:访问 AndroidManifest.xml、资源和资产文件
  • 交叉引用:查找所有指向方法、字段和字符串的引用
  • 类层次结构:探索类实现和继承关系

架构

系统由两个组件组成:

  1. JEB MCP 服务器 (dJEB_mcp_server.py):作为 Jython 脚本在 JEB 内运行,通过套接字暴露 JEB 的 API
  2. 桥接脚本 (jeb_mcp_bridge.py):通过标准 I/O 连接 Claude Desktop 到 JEB 服务器
Claude Desktop <--> jeb_mcp_bridge.py <--> (端口 8851) <--> dJEB_mcp_server.py (JEB)

安装

预备条件

  • JEB 反编译器(授权版本)
  • Claude Desktop

设置

  1. 克隆此仓库

    git clone https://github.com/yourusername/jeb-mcp-server.git
    cd jeb-mcp-server
    
  2. 配置 Claude Desktop

    编辑你的 Claude Desktop MCP 配置文件:

    • macOS~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows%APPDATA%/Claude/claude_desktop_config.json

    添加以下配置:

    {
      "mcpServers": {
        "jeb-mcp-server": {
          "command": "python3",
          "args": ["/绝对路径/to/jeb-mcp-server/jeb_mcp_bridge.py"]
        }
      }
    }
    
  3. 在 JEB 中加载脚本

    • 打开 JEB 反编译器
    • 加载目标 APK 文件
    • 运行脚本:文件脚本运行脚本... → 选择 dJEB_m_服务器.py
    • 服务器将在端口 8851 上开始监听
  4. 重启 Claude Desktop 以加载 MCP 服务器配置

使用

配置完成后,你可以通过 Claude Desktop 使用自然语言与 JEB 进行交互。服务器提供以下工具:

可用工具

工具描述
decompile_method将特定方法反编译为 Java 源代码
decompile_class将整个类反编译为 Java 源代码
list_classes列出所有类,可选过滤和分页
implements_of_class获取一个类或接口的所有实现
get_xrefs获取方法、字段或字符串的所有交叉引用
batch_rename一次性重命名多个类、方法和字段
batch_rename_local_variables在多个方法中重命名局部变量
get_manifest_file检索并搜索 AndroidManifest.xml
get_resource_file访问资源文件(布局、字符串等)
search_resources使用正则表达式模式搜索资源文件

示例提示

这里是一些你可以使用的强大提示:

1. 深链分析

提示

逐步分析此 Android 应用程序的深链处理。
我想要你:
1. 查找所有处理数据方案意图过滤器的活动
2. 对于每个深链处理器,追踪 URL 解析逻辑
3. 提取所有可能的端点及其参数
4. 忽略任何分析或跟踪代码
5. 创建一个详尽的深链端点及其功能的地图

请务必彻底探索所有相关类。

2. 智能类重命名

提示

我想将混淆的类 "La/b/c;" 及其方法重命名为有意义的名字。

请:
1. 反编译该类并分析其用途
2. 查找引用或被引用的所有类
3. 通过查看以下内容来检查更广泛的上下文:
   - 父类和接口
   - 调用其方法的类
   - 在其中实例化的类
4. 根据以下内容自信地重命名元素:
   - 方法功能
   - 使用的字符串常量
   - Android 框架模式
   - 常见设计模式
5. 提供带有解释的重命名映射
6. 执行批量重命名操作

保守一些 - 只重命名你确定的内容。

3. API 端点提取

提示

提取此应用程序使用的所有 REST API 端点。

请:
1. 查找所有 HTTP 客户端使用情况(Retrofit、OkHttp、HttpURLConnection 等)
2. 定位 API 接口定义或基础 URL 常量
3. 对于每个端点,提取:
   - HTTP 方法(GET、POST 等)
   - 完整 URL 路径
   - 请求参数
   - 响应处理
4. 按功能/模块分组端点
5. 创建带有示例的 API 文档

专注于实际的 API 调用,忽略日志记录或分析。

4. 广播接收器分析

提示

分析此应用程序中的所有广播接收器。

对于每个接收器:
1. 识别它监听的意图
2. 解释它执行的操作
3. 检查是否导出以及安全影响
4. 查找应用内发送广播的位置
5. 映射完整的广播通信流

记录有关导出接收器的安全问题。

5. 交叉引用追踪

跟随执行流程:

“从 MainActivity 的 onCreate 方法开始,追踪所有与用户登录相关的调用,并绘制涉及的所有类的完整认证流程。”

贡献

欢迎贡献!请随时提交问题或拉请求。

开发

代码库包括:

  • Jython 代码 (dJEB_mcp_server.py):在 JEB 的 Jython 环境中运行
  • Python 3 代码 (jeb_mcp_bridge.py):标准 Python 标准 I/O 桥接

贡献时:保持与 JEB 的 Jython 2.7 环境兼容性

许可证

MIT 许可证 - 详情见 LICENSE 文件

致谢

支持

对于问题、疑问或功能请求,请在 GitHub 上打开一个问题。


注意:这是一个非官方工具,未得到 PNF Software 或 Anthropic 的支持或认可。