一条提示词跑完 APK 动态分析全流程:WorkBuddy 自动抓包 + Frida Hook 实操记录
拿到可疑 APK,传统路径是搭环境、装工具、手动抓包、手工分析、整理报告。一套下来半天起步,遇到加壳或反模拟器直接劝退。这次实操验证的路径是:由 WorkBuddy 根据一条提示词,自动完成 APK 安装、网络流量捕获、交互操作、线索提取与报告输出,并在需要时自动部署 Frida 尝试 Hook。
传统 APP 动态分析慢在哪
环境搭建:版本匹配劝退一半人
模拟器版本、Android SDK、adb、frida-server 与手机系统版本必须互相匹配,还要开 ROOT、关证书校验。任何一个环节对不上,前面的工作就白费,通常耗时 1~2 小时。
手动抓包:容易漏、难以复现
抓包要掐准时机,操作应用靠手点,截图、记录、标注都是人工。漏掉关键流量后,换一个样本又得从头再来。
流量分析:抓到了不等于看懂了
Wireshark 打开几万个数据包后,初学者往往不知道哪个是可疑请求、C2 服务器在哪、通信协议怎么还原。抓包只是第一步,能在流量里定位问题才是门槛。
报告撰写:比分析本身更耗时
对取证教学和案件复盘来说,最耗时的是把分散的截图、流量、转化结论整理成结构化的证据链,这一步往往占掉整个流程一半以上的时间。
另外,APP 侧还会用加壳、模拟器检测、ROOT 检测、SSL Pinning、协议加密等手段对抗分析,纯手工流程经常在环境阶段就卡住。
自动化后的效果对比
同样分析一个 APK,传统手工与 AI 自动化的差异如下:
| 环节 | 传统手工 | AI 自动化 |
|---|---|---|
| 环境搭建 | 1~2 小时,版本匹配反复踩坑 | 自动部署,一条提示词 |
| 抓包 | 手动 tcpdump/Wireshark,易漏 | dumpcap 自动监听,后台持续抓取 |
| 应用操作 | 手动点击,容易误操作 | 自动安装运行 + 自动填数据 |
| 流量分析 | 人工筛选定位,门槛高 | 自动识别 C2 / 协议 / 特征 |
| 报告输出 | 手动整理截图与结论 | 自动输出结构化取证报告 |
自动流程最终产出的关键结论包括:C2 IP、C2 协议、设备指纹通道、appkey;Frida-server 运行成功并完成 Hook;报告内附样本与设备信息。
APP 动态分析基础
APP 即安装在智能手机上的应用软件,英文 Application 的缩写,例如微信、支付宝。
安装包格式:
- iOS:
.IPA(iPhone Application) - 安卓:
.APK(Android application package)
取证分析通常以 APK 为主。APK 本质是 ZIP 包,内含 classes.dex(可反编译的字节码)、lib/(so 原生库)、AndroidManifest.xml(权限与入口信息)等,为静态和动态分析提供了切入点。
常见分析方法
静态分析
不运行程序,直接对代码分析并获取线索。典型工具是 jadx/jadx-gui,将 dex 反编译为可读 Java 代码,用来定位敏感字符串、加密算法与关键逻辑。
动态分析
在运行程序时观察行为及网络流量。典型手段包括:
- 抓包:tcpdump / Wireshark
- Hook:Frida
- 沙箱运行
一句话区分:静态分析看“代码写了什么”,动态分析看“运行做了什么”。取证中两者互补,动态分析更能对抗加壳与字符串加密。
静态与动态的分析工具形态
- 静态分析可搭配 jadx 的 MCP 工具,让 AI 直接反编译、查 xref、定位敏感逻辑。
- 动态分析可使用
android-remote-control-mcp的 MCP 工具,配合模拟器或实体手机调用。
下文实操聚焦动态分析。
实操步骤
环境准备
- WorkBuddy
- 雷电 14 模拟器
android-remote-control-mcpMCP 工具
步骤 1:安装 android-remote-control-mcp
在 WorkBuddy 新建任务,输入以下任一提示词:
提示词 A:
安装 android-remote-control-mcp 的 MCP 工具,只能使用国内网络
提示词 B:
安装这个项目地址 https://github.com/danielealbano/android-remote-control-mcp 的 MCP 工具,只能使用国内网络
WorkBuddy 会自动规划任务:网络环境测试 → 获取最新 Release → adb 校验 → 下载并部署 MCP 服务器。
强调“只能使用国内网络”是因为该工具从 GitHub 拉取 Release,直接访问容易超时;加上这句后,AI 会走 gh-proxy 等镜像代理,避免卡在下载环节。
步骤 2:选择目标 Android 设备
安装 MCP 工具时会有以下选项,按实际环境选择:
- USB 连接的手机(有条件强烈推荐,可规避部分 APP 反模拟器限制)
- 无线调试手机
- 安卓模拟器(本次演示环境)
- 暂时没有设备
模拟器便于批量教学和快速复现,但不少 APP 会检测 Build 指纹、传感器、GPU 渲染等模拟器特征。遇到这类样本,建议切换到 USB 真机。
步骤 3:信任 MCP 工具
MCP 工具安装成功后,需先在 WorkBuddy 中信任,否则连接会被拒绝。
- 点击输入框左侧“+”→“连接器”→“管理连接器”
- 进入连接器管理页,点击右上角“+ 自定义连接器”
- 找到
android-remote-control并点击“信任”
信任的本质是授权该 MCP 服务器在本机执行 adb 命令。跳过这一步,工具无法与模拟器建立 adb 会话。
步骤 4:下载并配置雷电 14 模拟器
到雷电模拟器官网下载雷电 14 版本,因为 android-remote-control-mcp 要求 Android 14 以上环境。低版本 Android 会因 SDK 不满足导致 MCP 工具无法启动。
开启 ROOT 权限:
- 点击雷电窗口右上角“软件设置”
- 设置页左侧选择“其他”
- 打开“ROOT 权限”开关
- 点击“保存设置”
抓包需要在网卡层监听流量(dumpcap),Hook 需要注入进程(frida-server),二者都要求 root。不开 ROOT,MCP 工具会因权限不足静默失败。
步骤 5:让 WorkBuddy 动态分析 APK
ROOT 开启后,回到 WorkBuddy:
“新建任务”→ 选择 APK 所在文件夹 → 输入:
对指定工作空间下的 APK 进行动态分析:安装并运行,抓取网络流量,提取取证线索并输出报告。
WorkBuddy 会自动按以下顺序执行:
- 自动部署:下载 APK → adb 安装到模拟器 → 启动服务 → 配置 MCP 连接
- 自动抓包:dumpcap 监听网卡,首启抓包 30 秒,约 29,708 个包,12.7MB
- 自动交互:dumpcap 后台持续抓包,期间自动完成注册、登录、业务流操作
- 自动记录:实时记录注册界面特征、状态栏后端标识、资源 ID 字符集、邀请码机制等取证要点
- 自动报告:任务结束后输出结构化“APP 动态分析取证报告”
返回模拟器可看到 APK 已自动安装运行,WorkBuddy 已在界面中自动填入测试数据。连“模拟器没有键盘”这类环境问题,AI 也会用 TAB 键切换焦点自行绕开。
可选进阶:基于这个流程建立“专家”,让 WorkBuddy 每次自动调用 android-remote-control-mcp 完成动态分析,不需要重复输入提示词,适合批量跑样本。
步骤 6:尝试 Frida Hook
继续输入提示词:
继续下载 Frida-server,只能使用国内网络
样本 APK(AS-Exss)存在运行环境校验,在模拟器上登录会被识别为异常,提示“当前运行环境异常!”。
实际操作时间线:
14:00 root 启用 + 修复默认路由
ip route add default via 172.16.1.2
14:04 pip install frida-tools (17.17.0)
14:11 frida-server 下载,通过 gh-proxy 国内代理(31.9MB → 111MB 解压)
14:13 frida-server 部署,PID 4335,listen 27042
14:14 测试常见邀请码 888888,跳到昵称页但“完成”无响应
14:17 frida hook connect()(attach),未拦截 tgnet(attach 时机太晚)
14:19 strace 跟踪,确认 127.0.131.108:
结论:模拟器上无法完成登录,需要改用真机或游戏盾代理。
这一步“失败”本身有教学价值:它展示了反模拟器检测的实战形态,也印证了前文“有条件上真机”的建议。若一定要在模拟器上落地,Hook 可尝试 spawn 模式,或结合游戏盾代理,或直接切换真机重跑。
写在最后
这套流程把“手动装环境 → 抓包 → 操作应用 → 分析流量 → 撰写报告”的五步式取证分析压缩成一条提示词,且可复现、可批量:
- 可复现:同一流程批量跑多个样本,结果一致,适合教学演示
- 可解释:AI 会同步输出关键步骤与判断依据
- 可学习:每一步发生了什么、为什么这样做,全程透明,是较好的教学素材
相关项目地址: