V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ariera
V2EX  ›  Android

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

  •  
  •   ariera · 190 天前 · 8922 次点击
    这是一个创建于 190 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    76 条回复    2022-11-06 15:43:27 +08:00
    vvjyun318
        1
    vvjyun318  
       190 天前 via iPhone
    微信的话直接封号甚至永久封号了,支付宝真是人性化多了
    Kasumi20
        2
    Kasumi20  
       190 天前
    有没有一种可能, 它把数据存到 SDCard 上的某个小角落了, 清除应用数据并不会删除这个小角落里的文件
    sky96111
        3
    sky96111  
       190 天前 via Android
    可能还有其他检测,我一台没有 root 但是刷了第三方 ROM 的小米 6 上也不能刷脸,搞得一些政企服务很不方便
    winterbells
        4
    winterbells  
       190 天前
    我之前也不可以刷脸,现在可以了,我以为是版本更新之后放开了。。
    jsyzdej
        5
    jsyzdej  
       190 天前 via Android
    根据上次经验,等两天就行了
    tomato1111
        6
    tomato1111  
       190 天前   ❤️ 1
    用了 shamiko 把微信和支付宝加入了排除列表,完全没问题,指纹啥都正常,也不会被检测出来。
    Solael
        7
    Solael  
       190 天前   ❤️ 5
    所以选择少折腾转苹果了,对抗流氓要装 magisk 但是流氓们和金融 app 又要检测 root ,没完没了的攻防战
    totoro52
        8
    totoro52  
       190 天前
    @Solael 苹果也会检测越狱。。。
    ch2
        9
    ch2  
       190 天前
    @totoro52 #8 反检测比较简单
    ysc3839
        10
    ysc3839  
       190 天前 via Android
    我 root 并开启了 MagiskHide ,但没用过支付宝的刷脸支付,不过支付宝里 12306 小程序登录时需要刷脸验证,这个是正常的。
    ysc3839
        11
    ysc3839  
       190 天前 via Android   ❤️ 1
    @sky96111 第三方 ROM 用不了可能是直接检测 Bootloader 解锁状态了
    ihipop
        12
    ihipop  
       189 天前 via Android
    芒猜可能是在服务器端记录了 Android device ID ,这个和 systemd 的 machine ID 一样的,装机的时候生成。但是非系统应用应该从安卓 10 起获取不了这个 ssaid 的,再加上刷脸是大陆专供,我猜测可能系统内提供了一些“便利”给这些特殊软件。
    ariera
        13
    ariera  
    OP
       189 天前 via Android
    @tomato1111 我的意思是隐藏失败,再次尝试就 gg 了 只能恢复出厂
    ariera
        14
    ariera  
    OP
       189 天前 via Android
    @Kasumi20 对 我就是想知道 在哪里
    ariera
        15
    ariera  
    OP
       189 天前 via Android
    @vvjyun318 还好吧 微信也只是不能刷脸支付了而已
    ariera
        16
    ariera  
    OP
       189 天前 via Android
    @winterbells 之前是因为 root 不能刷脸了么
    ariera
        17
    ariera  
    OP
       189 天前 via Android
    @tomato1111 是的 但是有时候忘记加别的 app 就会被检测出来 有可能是某宝 飞 pig 之类的,具体不详。反正之前我是加了很多到排除列表 就 ok 了,可是后来某次刷机后加入列表还是不行了,不知道是漏加了哪个 activity 。
    ariera
        18
    ariera  
    OP
       189 天前 via Android
    @tomato1111 所以到最后我被逼无奈 只好开启了 shamiko 的 whitelist 模式,但是这种情况下似乎手机会发烫 而且打开任何 app 都会卡
    Zy143L
        19
    Zy143L  
       189 天前 via Android
    @ariera 暂时没有发现 whitelist 的这情况
    mxalbert1996
        20
    mxalbert1996  
       189 天前 via Android
    我的 Pixel 没对支付宝隐藏 root 也能用刷脸啊
    ariera
        21
    ariera  
    OP
       189 天前 via Android   ❤️ 1
    @Zy143L 难道是我错觉么… 而且我确实在一个英文帖子中发现有这个说法,说 Whitelist 会消耗性能。
    - You can create an empty file `/data/adb/shamiko/whitelist` to turn on whitelist mode and it can be triggered without reboot
    - Whitelist has significant performance and memory consumption issue, please use it only for testing
    - Only apps that was previously granted root from Magisk can access root
    - If you need to grant a new app root access, disable whitelist first
    看这个
    https://www.paget96projects.com/blog/shamiko-a-better-way-to-hide-root
    ariera
        22
    ariera  
    OP
       189 天前 via Android
    @mxalbert1996 google 大爷牛逼
    Jirajine
        23
    Jirajine  
       189 天前   ❤️ 1
    root 隐藏是个无解的问题,有 trusted computing 在,只要使用(如 TEE )没有任何正常的办法绕过(除非有 0day 漏洞)。
    所以所谓的“隐藏”除了极大程度降低安全性外意义不大,有不给用的应用装 iPhone 备机上,反正迟早也隐藏不了。
    hahiru
        24
    hahiru  
       189 天前
    安装 Zygisk ,将支付宝添加到框架的排除列表。安装 Shamiko ,安装 lsposed 。如果已经在设备黑名单里禁止刷脸的话,可能全部设置完后需要等两天,云端应该是有记录设备 ID 的。
    haikouwang
        25
    haikouwang  
       189 天前
    @vvjyun318 对的,我就被封了。
    calloc
        26
    calloc  
       189 天前 via iPhone
    oaid 了解一下
    v2yllhwa
        27
    v2yllhwa  
       189 天前 via Android
    隐藏后等两天就行了
    RightHand
        28
    RightHand  
       189 天前 via Android
    模块隐藏了么?支付表会查你的应用列表,发现模块就当 root 设备
    abc8678
        29
    abc8678  
       189 天前 via Android
    我现在一般带两部手机。用小米搞 root ,遇到检测就换到华为。
    abc8678
        30
    abc8678  
       189 天前 via Android   ❤️ 1
    用一半再加入隐藏 root ,不管怎么都还是被检测到了。只能是初始的时候先隐藏
    yolee599
        31
    yolee599  
       189 天前 via Android
    装一个“储存空间隔离”,指定一下路径,所有文件都会写到你指定的路径中,再一个一个找
    ariera
        32
    ariera  
    OP
       189 天前 via Android
    @RightHand 一早隐藏了
    ariera
        33
    ariera  
    OP
       189 天前 via Android
    @abc8678 对 我就是这个意思
    ariera
        34
    ariera  
    OP
       189 天前 via Android
    @v2yllhwa 没等…直接刷机了
    ariera
        35
    ariera  
    OP
       189 天前 via Android
    @hahiru 我就是想知道记录的这个 id 是啥 id 怎么突破,这个 id 肯定不是硬件 id
    w3q29
        36
    w3q29  
       189 天前
    碰到这种情况可以卸载最新版本,安装旧版本支付宝开启刷脸后升级到最新。我用的是 19 年第一个版本就可以刷脸 root 也不需要隐藏,豌豆荚: https://www.wandoujia.com/apps/279979/history_v135
    yehoshua
        37
    yehoshua  
       189 天前
    第三方 rom 比如 LineageOS 会被 app 直接检测认为 root ,基于的是 SafetyNet 认证。
    missuo
        38
    missuo  
       189 天前
    推荐一下 Shamiko ,隐藏就行了。云闪付和麦当劳 App 都可以这样顺利运行。
    mscsky
        39
    mscsky  
       189 天前
    居然敢刷脸?
    newmlp
        40
    newmlp  
       189 天前
    取消支付宝的存储权限就好了
    yfugibr
        41
    yfugibr  
       189 天前
    @vvjyun318 #1 我一直 root 用微信支付,甚至都没隐藏,指纹支付一直是可以用的,得有几年了都没被封过。倒是支付宝一直不行


    @ariera #21 whitelist 对一些调用频繁的系统软件也隐藏了吧,尽可能用黑名单
    yfugibr
        42
    yfugibr  
       189 天前
    @ariera #14 /sdcard 下:Alipay ,以及 .DS_store, .gs_* 等隐藏文件夹,具体记不太清了,因为一直没给存储权限(不给能用就别给)
    ysc3839
        43
    ysc3839  
       189 天前
    @RightHand 另外直到最新的 Android 应该都没有解决能“探测应用是否存在”的问题,虽然不能获取完整应用列表,但如果我知道某个应用的包名,就可以检测这个应用是否存在。原理很简单,就是访问一下 /data/data/<包名>,如果存在会返回 Permission denied ,不存在会返回 No such file or directory 。
    outsiderK
        44
    outsiderK  
       189 天前
    用的 magiskHide 和随机包名,目前用起来没啥问题
    rawer0
        45
    rawer0  
       189 天前   ❤️ 1
    国内 app 常规的思路是生成一个设备指纹。这个设备指纹不一定是存在本地的。可能是根据设备硬件+软件信息生成唯一 id ,发现设备存在风险会有一系列风控措施配合保护用户财产
    daquandiao2
        46
    daquandiao2  
       189 天前   ❤️ 1
    @hahiru #24 有些 app 用了 zygisk 也不行,比如民生银行的 app
    neochen13
        47
    neochen13  
       189 天前
    楼主说的我都不敢 root 了,正准备把 K40 处理
    lx0758
        48
    lx0758  
       189 天前
    ...居然还有这样的事, 我看了下我啥也没搞...也一直能用呢...
    Alliot
        49
    Alliot  
       189 天前
    不要用 zygisk.. 用旧版的带 magisk hide 的版本。 然后指定需要排除的列表即可。
    FieldFarmer
        50
    FieldFarmer  
       189 天前
    一加 Ace ,root 后装了 magisk ,目前只有银行类 app 会检测到 root 然后闪退,虎牙直播会检测 root 并提醒但还可以正常用,至于支付宝,目前没提示过 root 不能刷脸
    subframe75361
        51
    subframe75361  
       189 天前
    酷安有个 面具 root 权限开关 还挺方便的,检测也没啥问题
    geekzjj
        52
    geekzjj  
       189 天前 via Android
    @ysc3839 Android11 上是 /data/data/随机字符串 /包名+随机字符串 的形式
    cheese
        53
    cheese  
       189 天前   ❤️ 1
    @FieldFarmer #50 银行一类的软件,如果加入到 magisk hide 还不行的话,安装写轮眼( myandroidtools ),然后禁用对应 app 服务里面的 S 服务就好了
    sss495088732
        54
    sss495088732  
       189 天前
    alpha magisk,特定版本 zygisk 带 magisk hide
    Jirajine
        55
    Jirajine  
       189 天前
    @ysc3839 这个就只能用多用户( workspace )了,或者通过 native hook 的方式篡改。
    ysc3839
        56
    ysc3839  
       189 天前
    @geekzjj 有随机字符串的是 /data/app 。/data/data 还是没改,这可能涉及到兼容性问题,有许多老应用是写死了 /data/data/<包名> 的,改了可能会出问题。
    @Jirajine 自己测试了一下,非主用户试图探测 /data/data 时无论是否存在都会返回 Permission Denied ,只能探测 /data/user/<用户 ID>/<包名>。
    zhhww57
        57
    zhhww57  
       189 天前
    他那个我过了,主要是他另外一个刷脸验证的机制,刷脸的时候访问拒绝,这个怎么过
    zhhww57
        58
    zhhww57  
       189 天前
    能刷脸,刷到一半,访问拒绝
    SekiBetu
        59
    SekiBetu  
       189 天前
    你还有其余的支付宝模块吗?没有的话为什么不用 magisk 默认的 zygisk 直接不对支付宝进行 hook 呢
    ariera
        60
    ariera  
    OP
       189 天前 via Android
    @w3q29 谢谢分享
    ariera
        61
    ariera  
    OP
       189 天前 via Android
    @missuo 目前在用,正文又有讲。是想说隐藏前开了支付宝怎么办?
    ariera
        62
    ariera  
    OP
       189 天前 via Android
    @yfugibr 检测到 root ,指纹可以,但是刷脸不行。
    ariera
        63
    ariera  
    OP
       189 天前 via Android
    @yfugibr 谢谢 我下次试试看 也是一个思路
    ariera
        64
    ariera  
    OP
       189 天前 via Android
    @neochen13 可以 root 后开启 白名单 就是手机会不那么流畅了而已
    ariera
        65
    ariera  
    OP
       189 天前 via Android
    @Alliot 习惯了用新版本…
    datoo
        66
    datoo  
       189 天前
    简单,搞一个单独的非 root 手机,只装支付宝。
    neochen13
        67
    neochen13  
       189 天前
    @ariera 好吧,谢谢大佬,就没有完美的 root 吗,唉……
    gov
        68
    gov  
       189 天前   ❤️ 1
    多年小米用户,一直用 eu 或者官改系统。对我来说新系统第一个要安装的是 magisk alpha 版,开启 zygisk ,刷入 XiaomiCTSPass ,Shamiko 模块,关闭遵守排除列表,然后在排除列表中勾选所有检测 root 的应用。Netflix 高清内容呀,银行啥的都没问题了。
    楼主提的问题,可以完成上述操作后,清除支付宝数据,然后重新登录,过几天就可以恢复刷脸了。
    ariera
        69
    ariera  
    OP
       188 天前 via Android
    @gov 没耐心等 就直接刷机了…
    abc8678
        70
    abc8678  
       188 天前 via Android
    大四了,以后工作就不敢乱搞 root 了,怕丢数据或封号。刷入 root 等大动作,动不动就要清空数据。打算单独用一台手机干正事,手里目前的手机继续 root 。就是不知道怎么转发微信消息,远程似乎可以解决很多问题,但电话和微信通话似乎没办法转到私人机上听
    ariera
        71
    ariera  
    OP
       188 天前 via Android
    @abc8678 magisk 刷 root 卸载 root 都不用清数据
    abc8678
        72
    abc8678  
       188 天前 via Android
    @ariera 但 bootloader 这一步要清数据,而且小米不是刚买到就可以解。导致过了七天,又把数据导回上一部手机
    ariera
        73
    ariera  
    OP
       188 天前
    @abc8678 #72 binggo 可以备份一下,再恢复 还挺方便
    ariera
        74
    ariera  
    OP
       178 天前
    @w3q29 #36 无效,这个版本已经无法打开刷脸设置那里,点了没反应
    Joshuahui
        75
    Joshuahui  
       170 天前 via Android
    应该是 Android ID ,Google 商店里面有使用 root 权限重置 Android ID 的工具,可以让某些软件识别为新机来骗取试用😆
    ariera
        76
    ariera  
    OP
       141 天前
    @Joshuahui 不敢试了。。。直接开启 shamiko 白名单了,每次隐藏失败都要重新刷一次,太心累了。谁试过可以楼下补充一下
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   2816 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 14:54 · PVG 22:54 · LAX 07:54 · JFK 10:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.