支付宝检测到 magisk 或者 root 后的机制是什么

2022-09-18 20:20:38 +08:00
 ariera

以小米为例,其他品牌估计一个样。

如果 magisk root 后,直接打开了支付宝试图启用刷脸支付,会被提示“当前设备不支持刷脸,请更换手机后再试”。就是大红叉那个界面。此时你退出支付宝,然后启用 root 隐藏(假如说 s h a m i k o )。此后再次打开支付宝仍然无法启用刷脸。即使清除设置-应用-应用管理,清除支付宝全部应用数据,卸载重装后 依旧无法启用刷脸。

这个时候,只能是恢复出厂设置甚至刷机,然后重新安装支付宝就可以启用刷脸了。并且如果安装 magisk 获得 root 权限后,先启用 root 隐藏,然后打开支付宝就可以启用刷脸。

总结:直觉就是支付宝在检测到所在设备有风险(也即可能被 root 了),就会禁止刷脸功能,而且似乎是记录了某个软性 id (就类似每次 windows 安装完随机生成的 id )或者在某个我不知道的地方的文件中记录了黑名单标志位。直到这个手机系统被恢复出厂或者重刷后,这个 id 变化了或者这个标志被删除了,支付宝才会信任这个设备。

假如 root 被支付宝发现禁了刷脸,如何才能在避免刷机或恢复出厂的情况下使支付宝启用刷脸功能。

请问大侠,哪位知道这种类似的黑名单机制,具体是怎么做到的,怎么破?

15456 次点击
所在节点    Android
78 条回复
yfugibr
2022-09-19 10:07:15 +08:00
@vvjyun318 #1 我一直 root 用微信支付,甚至都没隐藏,指纹支付一直是可以用的,得有几年了都没被封过。倒是支付宝一直不行


@ariera #21 whitelist 对一些调用频繁的系统软件也隐藏了吧,尽可能用黑名单
yfugibr
2022-09-19 10:15:34 +08:00
@ariera #14 /sdcard 下:Alipay ,以及 .DS_store, .gs_* 等隐藏文件夹,具体记不太清了,因为一直没给存储权限(不给能用就别给)
ysc3839
2022-09-19 10:40:07 +08:00
@RightHand 另外直到最新的 Android 应该都没有解决能“探测应用是否存在”的问题,虽然不能获取完整应用列表,但如果我知道某个应用的包名,就可以检测这个应用是否存在。原理很简单,就是访问一下 /data/data/<包名>,如果存在会返回 Permission denied ,不存在会返回 No such file or directory 。
outsiderK
2022-09-19 10:44:51 +08:00
用的 magiskHide 和随机包名,目前用起来没啥问题
rawer0
2022-09-19 11:01:33 +08:00
国内 app 常规的思路是生成一个设备指纹。这个设备指纹不一定是存在本地的。可能是根据设备硬件+软件信息生成唯一 id ,发现设备存在风险会有一系列风控措施配合保护用户财产
daquandiao2
2022-09-19 11:15:14 +08:00
@hahiru #24 有些 app 用了 zygisk 也不行,比如民生银行的 app
neochen13
2022-09-19 11:21:18 +08:00
楼主说的我都不敢 root 了,正准备把 K40 处理
lx0758
2022-09-19 11:42:23 +08:00
...居然还有这样的事, 我看了下我啥也没搞...也一直能用呢...
Alliot
2022-09-19 12:13:51 +08:00
不要用 zygisk.. 用旧版的带 magisk hide 的版本。 然后指定需要排除的列表即可。
FieldFarmer
2022-09-19 12:31:37 +08:00
一加 Ace ,root 后装了 magisk ,目前只有银行类 app 会检测到 root 然后闪退,虎牙直播会检测 root 并提醒但还可以正常用,至于支付宝,目前没提示过 root 不能刷脸
subframe75361
2022-09-19 12:37:45 +08:00
酷安有个 面具 root 权限开关 还挺方便的,检测也没啥问题
geekzjj
2022-09-19 13:19:17 +08:00
@ysc3839 Android11 上是 /data/data/随机字符串 /包名+随机字符串 的形式
cheese
2022-09-19 13:29:25 +08:00
@FieldFarmer #50 银行一类的软件,如果加入到 magisk hide 还不行的话,安装写轮眼( myandroidtools ),然后禁用对应 app 服务里面的 S 服务就好了
sss495088732
2022-09-19 13:53:21 +08:00
alpha magisk,特定版本 zygisk 带 magisk hide
Jirajine
2022-09-19 14:53:46 +08:00
@ysc3839 这个就只能用多用户( workspace )了,或者通过 native hook 的方式篡改。
ysc3839
2022-09-19 15:31:04 +08:00
@geekzjj 有随机字符串的是 /data/app 。/data/data 还是没改,这可能涉及到兼容性问题,有许多老应用是写死了 /data/data/<包名> 的,改了可能会出问题。
@Jirajine 自己测试了一下,非主用户试图探测 /data/data 时无论是否存在都会返回 Permission Denied ,只能探测 /data/user/<用户 ID>/<包名>。
zhhww57
2022-09-19 15:44:04 +08:00
他那个我过了,主要是他另外一个刷脸验证的机制,刷脸的时候访问拒绝,这个怎么过
zhhww57
2022-09-19 15:45:08 +08:00
能刷脸,刷到一半,访问拒绝
SekiBetu
2022-09-19 18:12:07 +08:00
你还有其余的支付宝模块吗?没有的话为什么不用 magisk 默认的 zygisk 直接不对支付宝进行 hook 呢
ariera
2022-09-19 20:21:06 +08:00
@w3q29 谢谢分享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/881082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX