在深蓝技术光影中显示牌类游戏的智能手机
开发者 / 研究笔记

扑克 App 的反作弊系统如何运作

模拟器与 root 检测、运行时验证、行为遥测——手机优先的扑克 App 用来自我防御的各个层级。

首页 › App 反作弊

一段话概括:像 KKPoker 这样手机优先的扑克 App,靠的是分层的完整性栈,而非单一检查。它验证设备环境(这是真实、未改动的手机吗?),验证运行时的自身代码(二进制是否被篡改?),并长期观察账号如何对局。机器人和自动化工具通常至少会触发其中一层——因为在手机上启用自动化所需的工具,正是这些检查所要寻找的痕迹。

这是一篇面向研究的讲解,说明现代手机扑克 App 中完整性系统通常是怎么构建的。它对整个品类是通用的——同样的原理在主流 App 优先牌室中都会出现——而且写作目的是解释机制,而非提供绕过指南。涉及 KKPoker 时,也仅将其作为 App 优先产品的例子,而非桌面客户端。

为什么"手机"改变了威胁模型

在桌面扑克中,经典机器人位于客户端外部。它截取屏幕、推理牌面、驱动鼠标。扑克客户端往往无法直接看到机器人;检测在很大程度上依赖事后对对局模式的分析。

手机 App 把这一点反转了。在一台锁定的手机上,并不存在方便的"外部"。要实现自动化,攻击者通常必须做以下三件事之一:在模拟器而非真实手机上运行 App;root 或越狱设备以获得自动化所需的权限;或重打包 / Hook App 以注入控制。每一种都会以 App 可测量的方式改变环境。因此,手机端的威胁模型与其说是"在牌谱里找出机器人",不如说是"在一手牌发出之前就识别被篡改的环境"。

第一层——环境与设备检查

完整性栈首先要确立的是它正运行在什么之上。问题很具体:

现代 App 不会全部手工实现这些。平台验证服务让 App 能向操作系统厂商询问设备与 App 是否处于已知良好状态,由厂商签名背书,而非设备自报。这把信任边界从(可能已被攻陷的)设备移到了平台上,而平台要伪造困难得多。

为什么单一检查永远不够

任何单项环境检查都可能被足够有动机的攻击者攻破——模拟器指纹可以打补丁,root 可以隐藏。设计假设是每一层都会泄露。其强度来自叠加多个相互独立的检查,使得通过其中一项的环境仍会败在另一项上,并把残余的不确定性送入服务端审查。

第二层——运行时验证与篡改检测

通过环境检查还不够;App 还必须确信它就是它自己。运行时验证要问的是:正在运行的代码,是否就是当初签名并发布的那份代码?

对自动化作者而言,这是最棘手的一层。要稳定地驱动一个手机 App,通常意味着修改它——注入无障碍 Hook、给某个方法打补丁,或者重打包客户端。而这些恰恰是验证机制要浮现出来的目标。一个靠从外部读取并驱动正版、未改动 App 的自动化,在手机上比在桌面上难做得多,正因为平台沙盒不会把这种访问权授予普通 App。

分层完整性栈:设备层、运行时验证、行为遥测、服务端审查
各层的信号在设备端采集后向上汇集到服务端审查,在那里跨账号、跨对局进行关联。

第三层——行为遥测

环境检查与验证守护的是边界。行为遥测则防御一切越过边界的东西——包括用另一台设备上的外部求解器辅助的真人,这种情况在设备端完全不留篡改痕迹。

行为系统会对正常真人怎么打牌建模,并标记偏差:

信号像真人的样子像自动化的样子
操作时机多变、依情境而定的停顿恒定或精确得可疑的间隔
决策质量与耗时更难的位置耗时更长复杂位置仍快速且近乎最优
下注尺度取整、偶有不一致求解器级精度并被完全重复
对局节奏有休息、疲劳、状态漂移长时间、节拍般、无疲劳
输入几何自然的触摸抖动每次相同的点击坐标

这些信号单独都不是定论——很多强力真人也打得快、下注精确。遥测产出的是风险分,而非裁决。高风险账号会被送去人工审查,并与已采集的环境和验证信号关联。一种过得去的求解器对局模式,出现在被标记的模拟器、且二进制被篡改的环境上,与同样模式出现在干净、已通过验证的手机上,是两种截然不同的情形。

服务端审查把这一切串起来

三层都向上汇集的原因在于,决定性逻辑位于服务端,App 无法把它打补丁打掉。牌是在服务端发的;客户端只负责渲染。这意味着机器人能读到真人所见,却看不到未展示给它的底牌,也无法改写结果。服务端关联还能抓住任何单台设备都暴露不了的模式——共享资金、同步的对局,或在"互不相关"账号间出现的不可能的结果分布。

这对 KKPoker 上的机器人意味着什么

把各层合起来看:在 App 优先的扑克产品上做自动化既昂贵又高风险。模拟器和 root 设备是响亮的信号;重打包客户端通不过验证;机器般规律的对局在遥测中清晰可见;而无论如何,牌都握在服务端手里。熟练的操作者仍可尝试,第二块屏幕上的外部求解器也能避开设备端检查——但它接下来必须在有真人参与的情况下击败行为审查。在俱乐部 App 上,更可靠的获利方式往往根本不涉及求解器,而是涉及人:那些藏在俱乐部与联盟结构里的串通与筹码流动风险。

Raul Moriarty
Raul Moriarty
Poker Bot AI 扑克软件专家与传播负责人

在研究 App 完整性或机器人检测?

与扑克软件研究者交换心得。

联系我们