iOS风控自动化脚本

iOS 脚本的风控特征怎么调:无屏幕镜像截图、间隔随机化与异常倒查

iOS 脚本降低风控概率的执行侧记录:把屏幕镜像截图换成 captureFullScreenNoAuto 的改动点、间隔与坐标偏移的参数怎么设、执行时段怎么排,以及五类风控表现各自对应设备层、行为层、网络层中的哪一层。

约 7 分钟

上个月在客户那边,四十台设备全挤在一个出口 IP 上,第三天弹了一批验证码。

他以为是脚本写得太规律,当时查了两天才发现是网络。

做 iOS 自动化,最怕的不是跑不通,是跑着跑着被风控。这篇只讲调什么、怎么验、异常怎么认。

自动化脚本指的是把手机上重复的手工操作写成程序、让手机自己执行;群控是它上面那一层多设备的统一管理。

截图函数先换掉,一行的改动

多数硬件方案靠屏幕镜像回传画面。

画面实时传回电脑,等于在系统进程和网络层留了一条视频采集通道。

App 的风控能检测这类通道在不在,一旦发现「有外部设备实时采集屏幕」就标可疑。

image.captureFullScreenNoAuto 不走这条通道。

它直接调用系统截图能力,拿当前屏幕的一帧静态图。

不建持续通道、不传视频数据,从系统层面看跟手动截一张图差不多,特征极弱。

脚本只是要「看到」屏幕上有没有某个元素、某个颜色,单帧就够。

在蓝牙 HID / OTG HID 方案里这么调:

// 抓取一帧屏幕(不走镜像)
const img = image.captureFullScreenNoAuto();

// 提速:预截图模式,适合频繁截图场景
image.startPreCapScreen();

// 配合识别能力
// OCR、YOLO、图色、模板匹配 均可用

image.startPreCapScreen 是预截图模式,只有频繁截图时才值得开。

原理是预先准备好截图通道,省掉每次重新建立连接的开销。

预截图不是必须的;循环检测某个界面元素时才用得上。

换掉截图方式不影响后续识别:

识别能力 是否可用 说明
OCR 文字识别 可用 在截图中识别文字
YOLO 目标检测 可用 在截图中检测目标
图色找色 可用 在截图中查找颜色
模板匹配 可用 在截图中匹配图片
节点功能 不可用 需代理 IPA 支持
EasyClick 投屏主界面明亮主题显示无屏幕镜像截图模式与风控防护设置

唯一要让步的是节点功能,它得靠代理 IPA 支持。

间隔、坐标、路径:三个参数怎么调

风控在行为层看的是分布,不是单次动作。

人类操作间隔不均匀、坐标有偏移、路径每次都不一样;机器操作过于规律。

调这三个参数。

一是间隔。基准 1000 毫秒,加 ±20% 的随机偏移,别写死固定值。

二是坐标。在目标区域内随机偏移几个像素,别让十台设备点同一个点。

三是路径。准备多套脚本轮换,别让所有设备跑完全相同的流程。

随机化这么写:

// 随机化操作间隔(基准 1000ms,±20%)
const baseDelay = 1000;
const randomDelay = baseDelay * (0.8 + Math.random() * 0.4);
sleep(randomDelay);

// 点击坐标随机偏移(目标 200,300,偏移 ±5px)
const targetX = 200 + (Math.random() - 0.5) * 10;
const targetY = 300 + (Math.random() - 0.5) * 10;
click(targetX, targetY);

还有执行时段。

人类不睡觉这件事本身就是异常特征,脚本别 24 小时不停。

按工作时段排,夜里留出静默窗口;四十台分四组,每组挑不同时段起跑。

被风控的五类表现,各对应哪一层

平台风控从三个层面检测。

设备层:看有没有越狱痕迹、有没有装带异常证书的 App、有没有代理程序在跑。

行为层:分析操作的时间间隔分布、坐标分布、操作路径。

网络层:看 IP 归属、设备指纹、网络环境的一致性。

触发之后,表现大致五类:

表现 先看哪层 怎么改
弹验证码、要求二次验证 网络层 分组换出口,别让四十台挤一个 IP
点击不响应、提交不成功 行为层 加可点性等待,随机化间隔
账号被临时限制 行为层 降单设备频率,拉长执行间隔
同设备注册的新号也受影响 设备层 清掉越狱痕迹,换规范签名
部分功能不可用 设备层 检查代理 App 残留

倒查顺序固定:先网络,再行为,最后设备。

网络和设备都干净了还出问题,才是行为层的事。

那四十台后来按每十台一组拆了出口,跑了一个月没再弹验证码。

调完之后怎么验,多久看一次

改完参数别直接上全量。

先挑两台跑一整天,看间隔分布和点击命中率。

两台稳了再按组扩,一组十台,跑 48 小时。

观察指标就三个:验证码出现次数、点击无响应次数、单台任务完成时长。

每次换签名、升系统之后,把这两步重跑一遍。

频率过高,怎么规避都会触发。

规避是降低机器特征、减少误伤,用在自动化测试、直播运营辅助、批量安装管理这类场景;主动破解平台安全机制是对抗,不在这篇的讨论范围。

用了无屏幕镜像截图不等于不会被风控,截图只是维度之一;随机化也不只是随机延迟,坐标、路径、执行顺序都要覆盖到。

再往下看两处:苹果群控防检测 讲的是设备层特征怎么查,iOS 免越狱投屏 讲的是画面怎么摆到一块屏幕上。

FAQ

Q1:只换一个截图函数,风控就能降下来吗? A:降的是截图这一个检测面。操作频率、坐标规律、账号行为还是独立维度,三层要一起看。

Q2:captureFullScreenNoAuto 和 startPreCapScreen 什么关系? A:前者拿单帧,后者是预截图提速模式。循环检测某个元素时才开预截图,普通脚本用前者就够。

Q3:换成无屏幕镜像截图后,节点功能还能用吗? A:不能。节点要靠代理 IPA 支持,无自动化截图方案下这一项要让步,OCR、YOLO、图色、模板匹配不受影响。

Q4:间隔随机化取多少合适? A:常见做法是基准值加 ±20% 偏移。重点是别让间隔完全一致,具体范围按业务节奏调。

Q5:四十台设备怎么分网络? A:按组拆出口,每十台一组各走一条。同 IP 下几十台一起动,是群控最典型的网络层特征。

Q6:弹验证码了先查哪一层? A:先查网络层。看过出口是不是挤在一块,再回头看行为层,最后才动设备层。

Q7:脚本能不能 24 小时连着跑? A:不建议。人类不休息本身就是异常特征,按工作时段排,夜里留静默窗口。

Q8:规避和对抗的边界在哪? A:规避是降低机器特征、减少误伤,用在自动化测试、运维管理这类场景;破解平台安全机制是对抗,属于违规。


iEasyClick:手机自动化 AI 智能体平台,覆盖安卓免 root、iOS 免越狱(代理/蓝牙 HID/OTG HID)、鸿蒙 Next 三大生态,提供脚本开发、苹果群控、本地中控投屏与云控系统。→ 了解全部产品


想要真实跑起来?

本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。

访问 iEasyClick 官网 →