Claude Code 跑 ida-pro-mcp 分析 BOCHK 中银香港 App 防护:Key 用 TaoToken
2026/9/19 12:27:29 网站建设 项目流程

当 Claude Code 遇上 BOCHK:一次真实的 App 防护机制分析任务

最近在做一个移动安全方向的研究课题,目标是把 BOCHK(中银香港)App 的防护机制完整梳理一遍。这个 App 的防护层次相当深,从 Java 层的 RootBeer 检测到 Promon Shield 的 native 反调试,再到 CloudWalk 活体检测前的环境校验,单靠人工读反汇编效率太低。于是我决定让 Claude Code 配合 ida-pro-mcp 和 jadx-ai-mcp 来做这件事——用模型驱动 MCP 工具去读 IDA 的反汇编结果和 JADX 的反编译产物,再由 Claude Code 生成 Frida dump 脚本和分析报告。

整个流程里,Claude Code 每写一段 Frida 脚本、每调用一次 MCP 工具、每读一次反编译输出,都在消耗 Token。如果模型 API 通道不稳定或者额度受限,分析到一半断掉会非常难受。所以我把模型接入这一步换成了 TaoToken:打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 注册账号并创建 Key,然后在 Claude Code 的配置里把 Base URL 指向 https://taotoken.net/api,填上 Key,之后继续加载 ida-pro-mcp 和 jadx-ai-mcp,Claude Code 就能用走 TaoToken 通道的模型继续分析 BOCHK 的防护机制。如果在 TaoToken 后台能看到成功调用记录,说明 MCP 工具链和 Claude Code 已经配通了。

下面把整个配置过程、验证方法和常见坑整理出来,供同样在做移动安全分析的同学参考。

前置准备:TaoToken 账号与 Key 创建

在开始配置 Claude Code 之前,需要先完成 TaoToken 侧的准备工作。这一步不复杂,但顺序不能乱。

首先访问 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 完成注册。注册后进入控制台,在 API Keys 页面创建一个新的 Key。这个 Key 就是后续 Claude Code 调用模型时使用的凭证,格式通常是sk-开头的一串字符。创建后建议立即复制保存,因为部分平台只在创建时显示一次完整 Key。

创建 Key 之后,确认两件事:一是账户里有可用额度或已绑定支付方式,二是记下 API 的基础地址。TaoToken 的 API 端点是 https://taotoken.net/api,这个地址在后面的 Claude Code 配置里会用到。注意这里不要加任何 UTM 参数,保持干净的 API 地址即可。

如果你之前用过其他中转服务,可能会习惯在 Base URL 后面拼/v1之类的路径。TaoToken 的配置方式略有不同,具体以接入文档为准。建议在配置前先打开接入文档页面确认最新的 Base URL 写法,避免因为路径问题导致 404。

对于长期做安全分析、需要频繁调用模型的场景,可以考虑 TaoToken 的 Coding Plan,它在持续编码和 Agent 类任务上有更稳定的额度支持。如果只是偶尔跑一次分析,按量付费的 Key 就够用。

Claude Code 配置:settings.json 与 ANTHROPIC_* 环境变量

Claude Code 的模型接入配置主要围绕settings.jsonANTHROPIC_*系列环境变量展开。这一步是整个流程的核心,配错了后面 MCP 工具链再正确也跑不起来。

Claude Code 默认读取用户目录下的配置文件。在 macOS/Linux 上通常是~/.claude/settings.json,Windows 上在%USERPROFILE%\.claude\settings.json。如果文件不存在就新建一个。配置的核心是把 API 请求指向 TaoToken 的端点,并使用前面创建的 Key。

一个典型的配置结构如下:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "YOUR_API_KEY", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" } }

这里有几个关键点需要说明。ANTHROPIC_BASE_URL必须设置为https://taotoken.net/api,不要带尾部斜杠,也不要拼/v1ANTHROPIC_API_KEY填你在 TaoToken 控制台创建的 Key。ANTHROPIC_MODEL填你要使用的模型 ID,具体可用的模型列表可以在 TaoToken 的模型对话页面查看。

如果你不想改settings.json,也可以用环境变量的方式。在终端里执行:

export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="YOUR_API_KEY" export ANTHROPIC_MODEL="claude-sonnet-4-20250514"

这种方式适合临时切换,但每次开新终端都要重新设置。对于长期做 BOCHK 这类分析任务,建议还是写进settings.json,一劳永逸。

配置完成后,可以用claude命令启动 Claude Code,看它是否能正常加载配置。如果启动时报认证错误,多半是 Key 填错或者 Base URL 路径不对。

加载 ida-pro-mcp 与 jadx-ai-mcp:MCP 工具链配置

Claude Code 本身只是一个模型交互入口,真正让它能读 IDA 反汇编和 JADX 反编译结果的是 MCP 工具。ida-pro-mcp 负责把 IDA 的分析结果暴露给模型,jadx-ai-mcp 负责把 JADX 的反编译产物喂给模型。这两个 MCP 服务需要在 Claude Code 的配置里注册。

MCP 的配置同样在settings.json里,通过mcpServers字段声明。一个典型的配置如下:

{ "mcpServers": { "ida-pro": { "command": "python", "args": ["-m", "ida_pro_mcp", "--port", "13337"] }, "jadx-ai": { "command": "python", "args": ["-m", "jadx_ai_mcp", "--port", "13338"] } } }

具体的启动命令和参数取决于你安装的 MCP 包版本。ida-pro-mcp 通常需要 IDA Pro 已经打开目标二进制并加载了分析结果,MCP 服务通过 IDA 的插件接口读取反汇编数据。jadx-ai-mcp 则需要 JADX 已经完成对 APK 的反编译,MCP 服务读取反编译输出的目录。

在 BOCHK 这个任务里,流程是这样的:先用 Frida dump 出libbochk_aos.so,然后在 IDA 里加载这个 so 文件并完成自动分析,启动 ida-pro-mcp 服务;同时用 JADX 反编译 BOCHK 的 APK,启动 jadx-ai-mcp 服务。两个 MCP 服务都跑起来后,Claude Code 就能通过 MCP 协议调用它们,读取 IDA 里的函数反汇编和 JADX 里的 Java 源码。

配置完成后重启 Claude Code,它会在启动时尝试连接这些 MCP 服务。如果连接失败,检查 MCP 服务的端口是否被占用、Python 环境是否正确、以及 IDA/JADX 是否已经加载了目标文件。

验证请求:从 TaoToken 后台确认调用成功

配置完成后,最重要的一步是验证整条链路是否打通。验证方法很简单:在 Claude Code 里发一个测试请求,然后去 TaoToken 后台看调用记录。

具体操作是启动 Claude Code,输入一个简单的分析指令,比如让它读取 IDA 里某个函数的反汇编并解释逻辑。如果配置正确,Claude Code 会通过 TaoToken 的 API 发送请求,模型返回结果,同时 MCP 工具被调用去读取 IDA 数据。

然后打开 TaoToken 控制台,在调用记录或日志页面查看是否有对应的请求。如果能看到成功调用记录,包括请求时间、模型 ID、Token 消耗量,说明 Claude Code 和 TaoToken 的通道已经配通。如果记录里显示失败或没有记录,说明请求没有到达 TaoToken,需要回头检查 Base URL 和 Key。

在 BOCHK 分析任务里,验证成功的标志是:Claude Code 能正常生成 Frida dump 脚本,能通过 ida-pro-mcp 读取libbochk_aos.so里的DoCodetracerDetection函数反汇编,能通过 jadx-ai-mcp 读取BOCLFRootUtils.checkRoot()的 Java 源码。这三件事都能做到,说明 MCP 工具链和模型通道都正常。

如果 TaoToken 后台有成功记录但 Claude Code 报错,可能是模型 ID 填错了,或者 MCP 服务返回的数据格式模型无法解析。这种情况先检查模型 ID 是否在 TaoToken 的可用列表里。

本篇常见错排查

在配置和使用过程中,有几个错误出现频率特别高,这里集中列一下。

Base URL 拼写错误。最常见的错误是把ANTHROPIC_BASE_URL写成https://taotoken.net/api/v1或者带尾部斜杠。TaoToken 的 API 端点就是https://taotoken.net/api,多一段少一段都会导致 404。如果不确定,打开接入文档对照一下。

Key 未生效。有时候 Key 创建了但没保存,或者复制时带了空格。建议在终端里用echo $ANTHROPIC_API_KEY检查一下实际值。另外注意 Key 是否有额度,余额为零时请求会被拒绝。

MCP 服务未启动。Claude Code 启动时如果连不上 MCP 服务,会在日志里报连接错误。检查 ida-pro-mcp 和 jadx-ai-mcp 的进程是否在跑,端口是否和配置一致。IDA 和 JADX 必须已经加载了目标文件,否则 MCP 服务即使启动也读不到数据。

模型 ID 不匹配ANTHROPIC_MODEL填的模型 ID 必须是 TaoToken 支持的。如果填了一个不存在的模型 ID,请求会返回模型不存在错误。去模型对话页面确认可用模型列表。

settings.json 格式错误。JSON 对格式很敏感,多一个逗号少一个引号都会导致解析失败。改完配置后可以用python -m json.tool settings.json验证一下格式。

环境变量与配置文件冲突。如果同时设置了环境变量和settings.json,环境变量通常优先级更高。排查时先确认实际生效的是哪一份配置。

语义一致:把 Key 和 MCP 工具链配通,继续分析 BOCHK

回到最初的任务。BOCHK 的防护机制分四层:Java 层的 RootBeer 十项检测生成 reason 码,Promon Shield 在libbochk_aos.so里通过内联 SVC 系统调用检测 Frida/Xposed/调试器并生成 hookingframeworks 码,恶意软件扫描比对服务器哈希触发 reason=50,CloudWalk 活体检测前用 HookToolDetector 做六项独立检查。这些分析结果都需要 Claude Code 通过 MCP 工具去读取和整理。

把模型 API 换成 TaoToken 通道之后,整个分析流程的稳定性有了保障。Claude Code 可以持续调用 ida-pro-mcp 读取 IDA 里的sub_26B680sub_16E2A0等关键函数,调用 jadx-ai-mcp 读取BOCLFRootUtilsHookToolDetector等类的反编译源码,然后生成 Frida 脚本和分析报告。每一步的 Token 消耗都能在 TaoToken 后台看到记录。

如果你也在做类似的移动安全分析,建议先把 TaoToken 的 Key 创建好,把 Claude Code 的settings.json配好,再加载 ida-pro-mcp 和 jadx-ai-mcp。配置过程中遇到问题,优先查 API Keys 页面和接入文档。需要验证模型是否正常工作,可以去模型对话页面发一条测试消息。长期做编码和 Agent 类分析任务的话,Coding Plan 会比按量付费更省心。

整条链路配通之后,Claude Code 就能稳定地用走 TaoToken 通道的模型,配合 MCP 工具链继续分析 BOCHK 中银香港 App 的防护机制了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询