V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tmtstudio
V2EX  ›  程序员

大佬们,现在还有什么靠谱的安卓模拟器检测方案吗,我快被薅秃了

  •  
  •   tmtstudio · 2023-06-18 19:31:24 +08:00 · 7240 次点击
    这是一个创建于 558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己做了个 app ,快被一群模拟器薅秃了🫠 注册做了 ip 限制,安卓 9 以下也全禁了还是不行😰

    37 条回复    2023-06-20 10:05:31 +08:00
    Aloento
        1
    Aloento  
       2023-06-18 19:51:18 +08:00   ❤️ 6
    是什么 APP ,可以把名字发出来让大伙们检测检测
    xmumiffy
        2
    xmumiffy  
       2023-06-18 19:57:36 +08:00
    绑微信用微信自己的检测
    SunsetShimmer
        3
    SunsetShimmer  
       2023-06-18 20:20:21 +08:00
    绑定手机号?试着调一个 x86/x86_64 的库,能动的是模拟器?
    documentzhangx66
        4
    documentzhangx66  
       2023-06-18 20:21:51 +08:00
    加个滑动验证试试。
    SupperMary
        5
    SupperMary  
       2023-06-18 20:31:43 +08:00
    你现在是用什么方式做的限制呢?
    识别模拟器用模拟器特有的那几个系统属性、一刀切判断到 user-debug/adb 为开 之类。
    exiahan
        6
    exiahan  
       2023-06-18 20:49:25 +08:00
    挺难完全杜绝的,不过真要搞的话,你可以先收集一下设备信息,统计集体下看看多少是模拟器,然后慢慢的上规则去干掉。
    怎么收设备信息你可以看看一些成熟的方案(关键字:设备指纹)。(不过这玩意要有效的话肯定是会过度收集信息的,双刃剑)
    moult
        7
    moult  
       2023-06-18 21:01:13 +08:00
    https://help.aliyun.com/document_detail/90970.html
    阿里云有设备风险检测,散客一分钱一次,说是可以检测模拟器。
    moult
        8
    moult  
       2023-06-18 21:07:28 +08:00
    其次,可以读取硬件信息,比如型号、制造商之类的参数。
    当然,制造商也可能是伪造的。我们在获取制造商之后,再根据具体厂商,比如小米手机判断是否有 com.mipay.wallet 这类 MIUI 专用的 APP 。
    moult
        9
    moult  
       2023-06-18 21:14:50 +08:00   ❤️ 1
    https://github.com/gzu-liyujiang/Android_CN_OAID/tree/master/library/src/main/java/com/github/gzuliyujiang/oaid
    这里有个民间的 OAID 包。里面有各个国产手机厂商的一些私有的用于获取 OAID 的 Class 。可以通过反射判断是否存在对应的 Class 来确定手机厂商。这些东西大部分模拟器都是没有的。
    ysc3839
        10
    ysc3839  
       2023-06-18 21:22:06 +08:00 via Android
    @moult 不需要这么麻烦吧,直接获取一下 OAID ,没有不就说明问题了?
    westoy
        11
    westoy  
       2023-06-18 21:29:28 +08:00   ❤️ 1
    别检测了半天, 对方是直接日接口的, 有模拟器特征只是因为抓包用了模拟器

    直接上验证码和手机验证吧, 至少让对方也出点打码和接码的血......
    kingfalse
        12
    kingfalse  
       2023-06-18 21:42:59 +08:00
    身为一名爬虫的建议就是该加壳加壳,该加签名加签名,找个第三方签名套上先。
    spacezip
        13
    spacezip  
       2023-06-18 23:03:05 +08:00
    指纹加 sim 卡
    jeesk
        14
    jeesk  
       2023-06-18 23:12:51 +08:00
    直接禁止 x86 不行吗?
    jeesk
        15
    jeesk  
       2023-06-18 23:18:29 +08:00
    建议加上 ssl pining 或者双向认证, 然后禁止 root 运行。 禁止 x86 , 加固弄上去。 检测 apk md5 等信息。 如果 apk 被修改直接崩溃即可。
    jeesk
        16
    jeesk  
       2023-06-18 23:19:54 +08:00
    我自己写的软件很多人用了 android root 使用了 xpose , 都来私信问我。 我都是说不支持 root 运行。 别问我为什么, 我们只做合规软件。
    mkoijnbhu
        17
    mkoijnbhu  
       2023-06-19 00:24:18 +08:00 via Android
    受益匪浅,之前思考过相关问题,还在 Google 上搜出一些博客回答,对比下来还是评论区大佬们的见解有用
    mkoijnbhu
        18
    mkoijnbhu  
       2023-06-19 00:36:17 +08:00 via Android
    @ysc3839 在 MIUI 上,用户可以关闭 OAID 授权,返回值为 null 或 0000000000000000
    ysc3839
        19
    ysc3839  
       2023-06-19 00:39:21 +08:00
    @tomzhang1019 可以不给授权就加强风控,我用过许多国产应用就是这样,不授权的话登录新账号就莫名其妙被限制
    flyqie
        20
    flyqie  
       2023-06-19 00:43:23 +08:00 via Android
    楼上几位说的检测 x86 ,有用但不完全有用。

    大人,时代变了,现在一堆群控云手机都是 arm 。。

    靠谱方法就是不要自己搞,用阿里腾讯什么的专门厂商 sdk 做,比你自己费劲搞强多了。。
    NSAgold
        21
    NSAgold  
       2023-06-19 00:59:40 +08:00
    调阿里的吧。我自己手机 root+lsposed ,对其他 app 隐藏正常,只有阿里系会弹验证码(已对阿里系 app 隐藏 root+未注入 lsposed )。
    liantian
        22
    liantian  
       2023-06-19 01:25:35 +08:00 via iPad
    可以 b 站搜: 群控 主板机。这俩关键词…

    其实楼主想的,手游大厂也想了,工作室的现阶段解决办法就是主板机…
    ohwind
        23
    ohwind  
       2023-06-19 08:25:01 +08:00
    检测模拟器不好搞,直接实名认证+验证码吧
    cvbnt
        24
    cvbnt  
       2023-06-19 08:55:37 +08:00 via Android
    可以检测传感器数量,正常传感器数量是超过 20 的,模拟器不超过 10 ,以及检测陀螺仪数值
    egan0606
        25
    egan0606  
       2023-06-19 09:05:53 +08:00
    目前加固类的基本上都可以解决这个问题
    rekulas
        26
    rekulas  
       2023-06-19 09:08:40 +08:00
    不好搞, 我们之前做过类似的,都是直接拦截协议数据, 你检测做的再好也没用啊...多在通信和加密上下下功夫
    evemoo
        27
    evemoo  
       2023-06-19 09:49:19 +08:00
    还是评论区大佬多
    hhjswf
        28
    hhjswf  
       2023-06-19 09:57:15 +08:00   ❤️ 1
    @ohwind 实名认证还有人用你这 app...
    psklf
        29
    psklf  
       2023-06-19 10:04:25 +08:00
    微信 / 支付宝 绑定?
    newmlp
        30
    newmlp  
       2023-06-19 10:47:22 +08:00
    所有的检测都可以被针对,毕竟人家是系统,可以从其他方向入手,比如增加验证码,绑定手机之类的
    feidao158
        31
    feidao158  
       2023-06-19 11:04:21 +08:00
    方便发一下 app 吗
    squarefong17
        32
    squarefong17  
       2023-06-19 13:55:07 +08:00
    @jeesk 严格来说也不太行...有成规模的直接批量控制低端安卓机来搞事情的。。。
    angusj
        33
    angusj  
       2023-06-19 15:52:11 +08:00
    还是加三方验证吧,QQ 、微信、微博登录,都唯一登录
    yueji
        34
    yueji  
       2023-06-20 00:31:55 +08:00
    一般的做法是
    检测 是否 开了 USB 调试模式.检测相册照片数量低于 50 张
    ------------
    检测到不给任何提示,一切功能正常,但是不给收益就可以了.
    lifansama
        35
    lifansama  
       2023-06-20 07:09:16 +08:00 via Android
    @jeesk 交管 12123 嘛😂
    deng81416754
        36
    deng81416754  
       2023-06-20 09:47:28 +08:00
    1 、QQ 、微信第三方也能在模拟器登啊,加这些一样能薅;
    2 、现在很多主板机 ,光限制模拟器 只能是其中一种方式远远不够

    方案
    1 、以通过手机号注册+行为验证+7#:阿里的手机风险检测 api
    2 、如#11 楼所说 ,薅你功能的 是接口,只是在请求头加了模拟器的标识,方案就是 这个功能可以单独加行为验证,由第三方的接口调用你真正的业务,返回给用户,这样就没办法通过接口直接调用了
    imv2er
        37
    imv2er  
       2023-06-20 10:05:31 +08:00
    @SunsetShimmer 运行在 arm 上的模拟器了解下....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2934 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.