好久没有碰到需要斗智斗勇的外服游戏锁区检测了,今天碰到了一个软骨头,差点让我翻车,后面发现是栽在运行环境检测的安全检测了(粗心大意了)
目前来说常见游戏/应用的 锁区 检测行为:
A.运行环境检测:
- 锁区检测
系统设置的语言、区域、时间/时区检测,SIM卡运营商、国家地区检测 - 安全检测
解锁BL,刷机、root、框架、模块,设备重试次数,设备行为分析,安装应用列表,系统版本 - 特定机型设备检测:比如仅允许白名单的设备产商运行,或特定的某些机型可以运行,或者只有某些机型才能完全解锁游戏的内容、设置,比如更高画质和一些游戏选项。
B.网络环境检测:
- IP 数据信息检测(运营商、ASN、历史行为数据、是否被风控)
- 代理环境检测:同时请求境内和外服的 游戏服务器 IP 地址,比较返回IP是否一致等(如果你设置了分流规则之类的代理软件,比如 Clash ,那么可能会中招,需要改全局)
以 世界弹射物语为例,这个游戏不同地区发行是有锁区的,已知 台服、日服会锁区,其他区服没测试,国区因本身在境内直接直连肯定没问题。
- 日服
包名:air.jp.co.cygames.worldflipper
应用名:ワーフリ - 美服
包名:com.kakaogames.wdfp
应用名:World Flipper - 国服
包名:com.leiting.wf
应用名:世界弹射物语 - 台服
暂未测试
世界弹射物语 日服 在调试时,总结的一些报错提示对应的原因:
运行后 卡 5.36%,网络环境检测没通过,具体原因:使用的代理 IP 不干净或不在白名单,或被 拉黑,实际调试发现 日区的游戏运营商比较狠,直接拉黑了 分配给云服务厂商 亚马逊的所有 ASN(amazon.com AS16509等),还拉黑了 moe.gd AS41378 KirinoNET - Kirino LLC, US,不一一举例,因为随后换了几次落地 IP 终于碰到2个能用的了,一个是
cloudplustech.hk AS133731 TOINTER-AS-AP - Royal Network Technology Co., Ltd. in Guangzhou, CN
另一个是 parsun.com AS48024 NEROCLOUD - NEROCLOUD LTD, GB
卡5.36% 并提示 xxx.403 ,IP 被封禁,网络环境不稳定,请自行排查线路质量,比如游戏是否切到了后台运行导致断流
A203 错误:账号被 ban
卡 xxx 端末 xxxxxx 许可 xxxxxxx 提示(翻译:不允许在当前终端使用),这个比较复杂,对应了2个原因,一个是设备环境安全检测,root手机需要做好隐藏活动,直接放上抄作业方案:
Magisk 最新开发版 + Magisk 随机应用包名安装 + Magisk Zygisk 模式 + Shamiko magisk模块 + Universal SafetyNet Fix magisk 模块 + 隐藏应用列表(com.tsng.hidemyapplist),并对 ワーフリ + 应用伪装(com.variable.apkhook),并在 LSPosed 生效作用域勾选 ワーフリ,并在应用伪装配置 随机虚拟手机设备信息
第二类原因, 设备上登录多个账号被封,或者多次卡进度条(我这里翻车了,因为调试肯定会不断触发错误,并且当时没虚拟化设备信息,给的真实设备信息),或者 IP 被封禁 / 当前手机的硬件信息被服务端记录封禁
为了确认是那个更细致的原因,报错 卡 xxx 端末 xxxxxx 许可 xxxxxxx 提示 ,可以直接清除游戏数据,或者卸载重装,如果进去直接报错就说明是设备被ban,需要hook返回随机伪装的设备信息(使用应用伪装)。