什么时候该放弃纯协议
协议模拟不是万能的。这些信号出现时,该考虑云手机/群控路线:
- 签名算法在 VMP 级加固的 SO 里,还原成本以月计
- 风控对设备环境的要求极高(协议模拟的环境总是"差点意思")
- 业务必须真实 UI 交互(人脸识别后的操作、复杂表单)
- 协议随版本高频变更,维护成本失控
云手机方案的本质:放弃"模拟设备",直接"租用真实设备"——真实安卓系统、真实硬件指纹、真实传感器,上面跑自动化脚本。
三种方案对比
1. 公有云手机(红手指、雷电云、双子星等)
- 形态:云端虚拟化安卓实例,按台/月租
- 优点:开箱即用、弹性扩容、自带 IP 池(部分)
- 缺点:云手机本身有虚拟化特征(风控能识别主流云手机平台)、成本随规模线性涨
- 适用:中小规模、对设备真实性要求中等的业务
2. 私有手机墙(实体机群控)
- 形态:真实手机 + 群控软件(或自建 ADB 集群)
- 优点:设备 100% 真实,过一切设备检测
- 缺点:重资产(设备采购、场地、维护)、规模化上限低
- 适用:高价值业务(单账号产值覆盖设备成本)
3. 云真机平台(WeTest、远程真机)
- 形态:云端的真实手机(不是虚拟机)
- 优点:真实设备 + 云端弹性
- 缺点:贵,且面向测试场景设计,自动化能力要自己搭
- 适用:设备真实性要求极高且预算充足
云手机的技术对抗点
选云手机不是终点——主流云手机平台本身在风控的黑名单里。识别特征:
- 虚拟化框架特征(qemu/kvm 属性)
- 云手机平台的 ROM 特征(预装服务、系统属性)
- 传感器数据模式(虚拟传感器的数据特征)
对抗:
- 选型时测试:用目标 App 的风控实测各云手机平台(有的平台被标记严重,有的还好)
- ROM 级定制:部分平台支持自定义 ROM——刷入基于真实机型 ROM 修改的镜像,消除虚拟化特征
- 改机叠加:云手机上再跑改机(Xposed 改设备参数),双重伪装
自动化层:协议与 UI 的混合架构
云手机上的自动化推荐混合架构:
协议层(优先):能走接口的走接口(快、稳)
↓ 协议走不通的环节
UI 层(兜底):scrcpy/minicap 投屏 + 坐标/图像识别操作工程栈:
- 控制通道:ADB(云手机都提供 ADB 接入)
- 屏幕获取:scrcpy/minicap 推流
- UI 操作:uiautomator2(python 库)或 /dev/input 注入
- 图像识别:OpenCV 模板匹配(找按钮、识别验证码)
精髓:成本模型决定方案
协议方案成本 = 逆向人力(高固定成本)+ 服务器(低变动成本)
云手机成本 = 低人力 + 设备租金(高变动成本,随规模线性)临界点计算:协议方案的逆向投入 ÷ 云手机的月租金差额 = 回本周期。业务周期短于回本周期的,直接云手机;长期业务才值得投入协议逆向。
另一个隐藏因素:维护成本。协议方案要跟着 App 版本更新持续投入(每次更新可能重逆),云手机方案基本免维护——长期业务要把维护成本摊进去算。
总结
- 协议走不通或成本失控时,云手机/群控是备选路径
- 公有云手机(弹性)vs 手机墙(真实)vs 云真机(真实+弹性)
- 云手机平台本身有虚拟化特征,选型要用目标风控实测
- 混合架构:协议优先,UI 兜底;成本模型决定路线
交流微信:run1255