打开 ZA Bank 时提示李跳跳有风险
我在 Android 手机上用了很长时间的李跳跳,主要是为了自动跳过知乎等 App 的开屏广告。它平时没有什么存在感,开启无障碍服务后放在后台运行,需要时帮忙点一下“跳过”。
最近一次在easypay为lifecell充值时,需要打开 ZA Bank APP点击确认进行验证,不然无法成功支付。我打开 ZA Bank,App 提示手机中存在风险应用,提示指向李跳跳,随后无法继续使用。关闭李跳跳的无障碍服务后,ZA Bank 恢复正常。
真正要处理的已经是李跳跳和 ZA Bank 的冲突。为了省掉几秒钟的开屏广告,导致主力手机上的银行 App 不能使用,这个代价不合适。
关闭无障碍,先让 ZA Bank 正常使用
最直接的处理就是先关闭李跳跳的无障碍服务,让 ZA Bank 恢复。至于隐藏应用、修改包名或者寻找其他绕过检测的方法,我没有继续尝试。
ZA Bank 涉及账户和资金操作,跳过开屏广告只是一个体验优化,并不是非保留不可的功能。两者冲突时,没必要为了后者去和银行 App 的安全检测较劲。
李跳跳在 2023 年收到律师函后,宣布无限期停止更新。即使这次想办法继续使用,后续遇到 App 页面变化、系统权限调整或者新的兼容问题,也很难再指望原工具修复,所以我决定直接找一个替代工具。
用 GKD 替换李跳跳
最后换成了 GKD。它同样可以借助 Android 无障碍服务,在符合规则的界面上执行点击,但工具本体和具体规则是分开的。目前 GKD 本体仍在更新,也可以按应用和规则组控制启停。
这里有一个容易混淆的地方:GKD 本体主要提供规则执行能力。要完成跳过知乎开屏广告这样的具体操作,还需要添加或编写对应的本地规则或远程订阅。远程订阅通常来自第三方,是否可信、是否持续维护,需要和 GKD 本体分开判断。GKD 的官方仓库和订阅说明可以在下面两个页面查看:
我的需求很简单,只要继续处理知乎开屏广告,所以配置时没有把所有规则一股脑打开。大致过程是:
- 安装 GKD,开启执行屏幕点击所需的无障碍服务;
- 添加自己使用的规则订阅;
- 只启用需要的知乎开屏广告规则;
- 关闭与自己无关的全局规则和其他 App 规则。
这样可以把自动操作的范围缩小到实际需要。以后如果遇到误触,也能从触发记录里找到对应规则,再单独关闭,不必停掉整个工具。
验证结果
替换完成后,我重新打开知乎,开屏广告仍然可以自动跳过。随后再次打开 ZA Bank,也可以正常使用。
至少在当前的手机、系统和 App 版本下,这个替换方案解决了眼前的冲突:李跳跳的无障碍服务已经关闭,GKD 继续负责知乎开屏广告,ZA Bank 也没有受到影响。
这个结果只代表这次个人测试。它不能说明 GKD 一定比李跳跳安全,也不能保证 ZA Bank 以后不会调整检测规则。其他手机、系统版本、GKD 版本、规则订阅和银行 App,也可能得到不同结果。
为什么正常工具也会成为风险信号
对用户来说,李跳跳和 GKD 做的事情很简单:找到界面上的“跳过”按钮,再自动点一下。但从系统能力看,无障碍服务能读取界面节点,也能代表用户执行点击、滚动和手势。Android 官方文档对这些能力有明确说明:
这些能力本来是为辅助使用和自动操作提供的,正常工具可以使用,恶意 App 也可能滥用。银行 App 的风控判断可能会关注应用能力、运行环境或其他组合信号,而不只是用户安装它的目的。
不过,ZA Bank 这次究竟检查了什么,我并不知道。它可能识别了具体应用,也可能参考无障碍状态、安装来源或其他信息。没有直接证据,不适合把其中任何一种可能写成确定原因。
目前我会继续使用 GKD,只启用真正需要的规则。如果以后它也与金融 App 发生冲突,我仍会优先保证金融功能正常。对这类自动化工具,我的原则不是设法躲过检测,而是缩小权限和规则范围,在便利性与安全性发生冲突时选择后者。