首页
社区
课程
招聘
[原创]Radare2 AI Bridge 安卓应用
发表于: 1天前 501

[原创]Radare2 AI Bridge 安卓应用

1天前
501

##本项目完全使用AI控制开发

服务器在 0.0.0.0:5050 端点暴露以下 28 个 MCP 工具:

打开文件并执行基础分析 (默认 a 基础分析)。

参数:

返回:

执行深度分析 (aaa, 耗时较长)。

参数:

返回:

智能分析策略 (精准下刀)。

策略说明:

参数:

返回:

执行 R2 命令 (通用)。

参数:

返回:

配置管理 (动态调整分析参数)。

参数:

返回:

分析提示 (手动修正分析错误)。

参数:

返回:

列出函数列表。

参数:

返回:

列出字符串 (逆向第一步)。

参数:

返回:

获取交叉引用 (逻辑追踪)。

参数:

返回:

管理交叉引用 (手动修复)。

参数:

返回:

获取文件详细信息。

参数:

返回:

反编译函数。

参数:

返回:

反汇编代码。

参数:

返回:

测试 R2 库状态 (诊断)。

参数:

返回:

关闭会话。

参数:

返回:

列出目录内容 (支持 Root)。

参数:

返回:

读取文件内容 (支持 Root)。

参数:

返回:

Termux 环境命令 (AI 沙盒)。

参数:

返回:

保存代码 (赋权/所有者)。

参数:

返回:

SQL 查询 (读取私有数据库)。

参数:

返回:

读取 Android 系统日志 (Logcat)。

参数:

返回:

智能重命名函数 (语义理解)。

参数:

返回:

模拟执行 (ESIL 沙盒)。

参数:

返回:

持久化知识库 (记录重要发现)。

参数:

返回:

批量解密字符串对抗混淆。

参数:

返回:

扫描加密签名识别算法。

参数:

返回:

对指定地址应用二进制 Patch。

参数:

返回:

列出所有的 JNI 接口函数。

参数:

返回:

MCP JSON-RPC 2.0 端点

请求示例 - 列出工具:

请求示例 - 调用工具:

健康检查端点,返回 "R2 MCP Server Running"

详情访问GITHUB

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "r2_analyze_file",
    "arguments": {
      "file_path": "/sdcard/binary.elf"
    }
  }
}
  • 命令行集成: 通过 JNI 包装 Radare2 CLI(避免复杂的头文件依赖)
  • 前台服务: 后台运行 Ktor HTTP 服务器 (端口 5050)
  • MCP 协议: JSON-RPC 2.0 实现,20 个 Radare2 + OS 工具
  • 并发管理: 16 桶锁机制,支持多客户端
  • Material 3 UI: Jetpack Compose 现代界面
  • 零头文件依赖: 简化的 CMake 配置
  • Kotlin 1.9.22 - 主要编程语言
  • Jetpack Compose - UI 框架
  • Ktor 3.0 - HTTP 服务器
  • Kotlinx Serialization - JSON 序列化
  • JNI - C++/Kotlin 桥接
  • CMake - 原生代码构建
  • Radare2 - 逆向引擎
  • file_path (string) - 要分析的文件路径
  • auto_analyze (boolean, optional) - 是否自动执行基础分析 (默认 true)
  • 会话 ID 和文件基本信息
  • file_path (string) - 要分析的文件路径
  • 分析结果和文件信息
  • basic (aa): 基础分析,识别符号和入口点
  • blocks (aab): 分析基本块结构,修复函数截断问题
  • calls (aac): 递归分析函数调用,发现未识别的子函数
  • refs (aar): 分析数据引用,识别字符串引用和全局变量
  • pointers (aad): 分析数据段指针,用于C++虚表和跳转表恢复
  • full (aaa): 全量深度分析(耗时极长,仅在小文件或必要时使用)
  • strategy (string) - 分析策略模式
  • address (string, optional) - 指定分析的起始地址或符号
  • 分析结果和状态反馈
  • session_id (string) - 会话 ID
  • command (string) - Radare2 命令
  • 命令执行结果
  • session_id (string) - 会话 ID
  • configs (object) - 配置参数键值对
  • 配置更新结果
  • session_id (string) - 会话 ID
  • hint_type (string) - 提示类型
  • address (string) - 目标地址
  • data (string, optional) - 提示数据
  • 提示应用结果
  • session_id (string) - 会话 ID
  • filter (string, optional) - 函数名过滤器
  • limit (integer, optional) - 最大返回数量 (默认 500)
  • 函数列表
  • session_id (string) - 会话 ID
  • mode (string, optional) - 搜索模式 ('data' 或 'all')
  • min_length (integer, optional) - 最小字符串长度 (默认 5)
  • 字符串列表
  • session_id (string) - 会话 ID
  • address (string) - 目标地址或函数名
  • direction (string, optional) - 引用方向 ('to' 或 'from')
  • limit (integer, optional) - 最大返回数量 (默认 50)
  • 交叉引用列表
  • session_id (string) - 会话 ID
  • action (string) - 操作类型 ('add' 或 'remove')
  • from (string) - 源地址
  • to (string) - 目标地址
  • 操作结果
  • session_id (string) - 会话 ID
  • detailed (boolean, optional) - 是否显示详细信息 (默认 false)
  • 文件信息
  • session_id (string) - 会话 ID
  • address (string) - 函数地址
  • 反编译代码
  • session_id (string) - 会话 ID
  • address (string) - 起始地址 (十六进制)
  • lines (integer, optional) - 反汇编行数 (默认 10)
  • 反汇编输出
  • 测试结果
  • session_id (string) - 会话 ID
  • 关闭确认
  • path (string) - 目标文件夹的绝对路径
  • 目录内容列表,包含文件类型和大小
  • path (string) - 目标文件的绝对路径
  • 文件内容(自动截断大文件以防 OOM)

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

收藏
免费 16
支持
分享
最新回复 (3)
雪    币: 7355
活跃值: (24014)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
2
看看
1天前
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
看看检查
6小时前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
666
5小时前
0
游客
登录 | 注册 方可回帖
返回