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

抖音到底是如何识别 Android 设备的

  •  
  •   program9527 · 4 天前 · 8153 次点击

    我在网上买了一台小米 10 ,系统是澎湃 os 。 然后用这台小米 10 登录抖音账号,需要扫脸验证,扫脸的时候,提示该设备属于风险设备。

    出现这种问题基本是手机的原主人拿这台设备做了不正规的事情,被抖音封禁设备了。 一般来说这种识别设备的问题,重新格式化,恢复出厂设置都可以恢复了。然后我恢复了,开机后,还是提示风险设备(换过 wifi 或者手机流量,都不行。)

    然后我又等了七天,把小米 10 解锁 bl ,刷了 lineageos 了。还是提示我设备属于风险设备,无法扫脸。账号是正常了。没有封禁。换账号也没用,其他账号只要在这个手机上登录,都会提示风险。

    在没有其他权限的情况下,抖音或者其他 app 依靠什么生成设备唯一指纹的啊?不仅仅是抖音,我记得国外有个聊天软件也是直接可以登录聊天,不需要注册账号,依靠设备指纹直接生成账号并聊天

    第 1 条附言  ·  3 天前
    仔细审题啊:未解锁 bl 、未刷机、未 root 的情况下,恢复出厂设置,依旧会被识别为风险设备
    99 条回复    2024-09-25 11:10:15 +08:00
    Umenezumi
        1
    Umenezumi  
       4 天前   ❤️ 1
    刷机了 mac 也不会变吧?
    program9527
        2
    program9527  
    OP
       4 天前
    @Umenezumi 可是高版本 Android 在无权限的情况下,已经无法正确获取 mac 地址了把。lineageos 是 Android 14 了,而且刷机后尝试了 mac 地址修改软件,也无效,不知道是不是工具不对。
    povsister
        3
    povsister  
       4 天前   ❤️ 6
    各厂都有自己的设备指纹计算方案,不是你改个 mac 地址啥的就会变的。
    具体是什么你得问搞黑产的,他们门清。
    BaiLinfeng
        4
    BaiLinfeng  
       4 天前
    唯一识别码 SN ?手机序列号 IMEI ?不然依靠啥检测
    BaiLinfeng
        5
    BaiLinfeng  
       4 天前   ❤️ 2
    为什么感觉就是你之前自己把设备封禁的尼?快说你做了啥,有钱一起赚
    zhouquanbest
        6
    zhouquanbest  
       4 天前
    发客诉就好了
    zhwguest
        7
    zhwguest  
       4 天前
    不一定是识别的具体的设备。有可能是识别的一类设备,比如是否 oem 解锁等等。
    program9527
        8
    program9527  
    OP
       4 天前
    @BaiLinfeng 真不是自己,我自己的主力机小米 14 ,买个小米 10 当备用机的
    program9527
        9
    program9527  
    OP
       4 天前
    @zhouquanbest 联系客服,要我手持身份证拍照,还要签名签字,还要打印个什么表格填写。我怎么可能给他手持身份证拍照然后发给他。。。
    program9527
        10
    program9527  
    OP
       4 天前
    @zhwguest 我之前小米 10 是澎湃系统,拿到手没有 oem 解锁的,是后面恢复出厂,格式化等等都不行,然后才解锁刷 lineageos 的
    program9527
        11
    program9527  
    OP
       4 天前
    @BaiLinfeng imei 在没有手机拨号权限的情况下,也无法获取,我下载过 设备信息 之类的软件查看过。刷机都无法解这台设备的封禁

    难顶。到底什么黑科技。
    paradoxs
        12
    paradoxs  
       4 天前   ❤️ 3
    人家的处理逻辑是:

    1 、先识别是否为 iphone ,并检测是否越狱和是否在 VPN 模式下。 (如果没越狱而且没 vpn ,这就是可信设备,否则按安卓处理)

    2 、所有安卓不可信。
    program9527
        13
    program9527  
    OP
       4 天前
    @paradoxs 但是我的小米 14 刷脸和发作品之类的都是正常的。用这个小米 10 刷脸就禁止了,然后用其他方式验证登录,发的作品其他人不推流,就是别人看不到。

    问了别人,估计整个机型都属于风控机型,就是不管是不是刷机或者你用了这个设备做什么,直接识别型号,这个型号就是不行,因为太多人拿同款机型来做黑产了,然后直接整个机型封禁

    给我举了个例子说 一加 6 一加 7t 这两个也一样,只要是这个机型就是风险设备。
    gam2046
        14
    gam2046  
       4 天前   ❤️ 7
    注定得不到答案,目前正在做这类软件的风控。

    能解决这个问题,去找个工作,一年三五十万是没问题的,不会有人告诉你。
    nowant
        15
    nowant  
       4 天前
    @program9527 你都 root 了,改个型号还不是随随便便
    JensenQian
        16
    JensenQian  
       4 天前
    https://v2ex.com/t/1010369

    可以看下这个帖子
    BaiLinfeng
        17
    BaiLinfeng  
       4 天前
    @paradoxs 所以这样分析的话设备是不是可以伪装成 iPhone?
    InkStone
        18
    InkStone  
       4 天前
    @BaiLinfeng 系统标识在很多地方都是硬编码的,改不了。
    miaomiao888
        19
    miaomiao888  
       4 天前
    意思可能是换新设备登陆这个行为属于风险
    BaiLinfeng
        20
    BaiLinfeng  
       4 天前
    @InkStone 啥?你说 IMEI 码?
    viberconnection
        21
    viberconnection  
       4 天前   ❤️ 1
    藍牙 Mac 在 Android 手機中,即便是未授權也是可見的哦。
    另外我個人也贊同樓上其他人的回復,指紋計算也是很重要的。
    ScepterZ
        22
    ScepterZ  
       4 天前
    @program9527 小米 10 用户还不少呢吧,怎么可能都不让用抖音,那不得被喷死……
    dreamk
        23
    dreamk  
       4 天前   ❤️ 1
    解包看看有没有数字联盟的 sdk ,可能是钻了 linux 内核的漏子拿到的 unique id ,毕竟没多少人关注这个,泄漏了影响也不大
    https://www.shuzilm.cn/
    coderzhangsan
        24
    coderzhangsan  
       4 天前
    之前做过抖音广告投放开发,如果从广告投放转化角度来看:
    安卓:一般都是用 OAID 或 AndroidID 作唯一标识符做匹配特征。
    苹果:IDFA 唯一标识符做匹配特征。

    mac 地址会变,一般不会作为唯一标识符进行匹配,OAID 或 AndroidID ,这 2 项好像不需要授权就能获取到,OAID 好像刷机也不会变,具体取决于系统厂商是否按 OAID 标准实现,但是 AndroidID 刷机会变。
    amrice
        25
    amrice  
       4 天前 via Android
    IMEI 和 SN 不都是固定的吗?
    amrice
        26
    amrice  
       4 天前 via Android
    很多原因导致人脸不可用,比如检测到 su ,selinix 状态异常,bl 未处于锁定状态,检测到第三方 recovery ,不是安卓开发的不清楚,但是玩安卓这么多年了,你用 momo 检测试试,看看是不是有异常
    program9527
        27
    program9527  
    OP
       4 天前
    @coderzhangsan oaid drm id 之类的标识,理论上在恢复出厂设置、刷机等情况都会被重置。
    program9527
        28
    program9527  
    OP
       4 天前
    @amrice 我只是刷机了,没有 root 。而且之前是原始的澎湃系统,未刷机,未解锁 bl 都不行的。无权限的情况下,用设备信息等等软件,都读不到,不知道是不是用了某些漏洞或者手段。
    amrice
        29
    amrice  
       4 天前 via Android
    还可以监测 init.rc 的变化
    amrice
        30
    amrice  
       4 天前 via Android
    @program9527 我也用的小米,你不解 BL 的情况下是怎么刷第三方的呢?
    program9527
        31
    program9527  
    OP
       4 天前
    @InkStone 很多系统标识都是不唯一的,在这种情况下,会导致误判、误封吧。而唯一的标识 AndroidID ,google 广告 id 之类的,都可以重置。然后 mac 这类无法重置的,没权限无法获取,又怎么识别唯一设备呢。

    要么利用漏洞获取,要么整个型号封禁,也就无所谓误判误封了
    program9527
        32
    program9527  
    OP
       4 天前
    @amrice 仔细审题啊。我先是澎湃系统,识别风险设备,然后恢复出厂都没办法。然后才解锁 bl 刷其他系统的。
    subframe75361
        33
    subframe75361  
       4 天前
    盲猜是类似浏览器指纹的实现方式,利用硬件生成唯一 ID
    SunsetShimmer
        34
    SunsetShimmer  
       4 天前 via Android
    @program9527 建议 https://ts.isc.org.cn/ 投诉试试。
    iyaozhen
        35
    iyaozhen  
       4 天前   ❤️ 1
    这是绝密 抖音的同学肯定没人告诉你的

    黑产肯定知道一些,但也是道高一尺魔高一丈,持续斗争
    program9527
        36
    program9527  
    OP
       4 天前
    @iyaozhen 其实不只是抖音,某些软件也通过未知方式判断唯一设备,还判断的挺准的
    woyaojizhu8
        37
    woyaojizhu8  
       4 天前
    你确认你安装的抖音没有获取任何权限吗
    512357301
        38
    512357301  
       4 天前 via Android
    @program9527 #9 很谨慎,很好,以我对这种平台的客服处理机制的了解,你要么找到更高级的投诉渠道,要么卖掉手机,或者卸载抖音,否则只能配合他们提供资料。
    zjb861107488
        39
    zjb861107488  
       4 天前 via iPhone   ❤️ 1
    1. 厂商内部有唯一 id ,开放给抖音接口
    2. 多个因素计算出来一个唯一 id ,刷机后有一定特征再“取回”原 id 。可以参考微信的面对面建群,虽然数字很容易重复,但一定范围一定时间内输入一组数字还是不太容易匹配错的
    bitfly
        40
    bitfly  
       4 天前 via Android
    tiktok 破解版(谷歌搜) 不用手机号验证注册
    不用扫面
    自定义选地区 虚拟定位都省了
    不香吗
    SkywalkerJi
        41
    SkywalkerJi  
       3 天前 via Android
    你是不是拦截了抖音的权限。我有一台自购的全新 pixel ,拦截全部权限,注册一个新账号直接判定风险封号,以前我都没用过。
    levelworm
        42
    levelworm  
       3 天前 via Android
    @gam2046 #14

    连资料也找不到吗?好奇。我知道 root 肯定是不行。
    dingwen07
        43
    dingwen07  
       3 天前
    怕不是 lineageos 本身就被视为风险
    fredweili
        44
    fredweili  
       3 天前
    安卓是风控严格,一样的 app 和账户,一些薅羊毛的事情安卓被封了,iPhone 照常可以
    HackerOO7
        45
    HackerOO7  
       3 天前 via Android
    设备指纹,单单刷机是不足以更改掉指纹的。有专门的黑灰产,做设备指纹对抗。
    InkStone
        46
    InkStone  
       3 天前
    @program9527 我说的系统标识,指的是"Android"/"iOS"。是回复上面那位朋友,不太可能把一个系统伪装成另一个。

    获取唯一标识符的接口挺多的啦,就拿 wifimac 地址举例,在通过 android 接口已经拿不到的版本上,通过 netlink 接口还是能拿的(虽然这个接口在更高版本上也用不了了)。

    这些因为过时了,其实都是公开的知识了,看雪之类的偏安全的论坛上很多。
    bl4ckoooooH4t
        47
    bl4ckoooooH4t  
       3 天前
    这种多半是硬件指纹的权重更高,比如屏幕的尺寸、传感器列表、MediaDRMID 等等,一般要专业改机团队才能过风控,个人手机被封了,还真不懂怎么解。。。
    Libby520
        48
    Libby520  
       3 天前   ❤️ 1
    公司抖音运营的一个号被清退,所有用过直播的台式机、笔记本再用于其他账号时一律被识别,甚至连网络都是,最后换了一批电脑设备,包括网络也重新换了
    249239432
        49
    249239432  
       3 天前
    序列号、imei 、imsi 、iccid ,各种硬件参数
    zpxshl
        50
    zpxshl  
       3 天前 via Android
    @coderzhangsan 刷机的话 android 会变。
    非国行系统没有 oaid 。mac, imei 在高版本无法获取。
    型号风控也不现实,小米 10 存量用户很多的,尤其是抖音这种使用场景偏低端。
    还真有点好奇答案的
    moonbeama
        51
    moonbeama  
       3 天前
    @gam2046 请问一下,那 ios 呢?我之前有个苹果 7p ,被比心 app 封了,恢复出厂设置也没有用
    v2s
        52
    v2s  
       3 天前
    是否可能:有用的信息都拿不到的就直接 block 掉?
    mars2023
        53
    mars2023  
       3 天前
    @BaiLinfeng #17 不能;你安装的客户端就决定了是 iPhone 还是 android 。
    murmur
        54
    murmur  
       3 天前
    感谢楼主,现在还得多一条,买二手先问一下这设备之前干过黑产没有
    chanChristin
        55
    chanChristin  
       3 天前
    @moonbeama 更新大版本系统试试,我之前也是被农行封了,后面升级 iOS18 就行了。
    moonbeama
        56
    moonbeama  
       3 天前
    @chanChristin 感谢回复,主要是想弄清楚原理,现在那个手机和那个软件都不使用了
    EndlessMemory
        57
    EndlessMemory  
       3 天前
    大厂收集指纹的操作多了去了
    pweng286
        58
    pweng286  
       3 天前
    我的贴吧被封号后也是这样
    可能是根据硬件来的.
    SilentOrFight
        59
    SilentOrFight  
       3 天前
    @paradoxs #12 所有安卓不可信,瞧你这话说的。你是没阅读吧,明明是某台二手设备的问题
    proxytoworld
        60
    proxytoworld  
       3 天前
    大厂有专门的团队搞这个,风控一般,对付一个刷机还是简简单单的
    cst4you
        61
    cst4you  
       3 天前
    太多了, 各种 root 检测的方法先来一遍
    #系统指纹
    #是否锁 BL
    #su path 检测
    #查 package list
    gam2046
        62
    gam2046  
       3 天前   ❤️ 1
    @levelworm #42 一些公开资料还是有一些的,能提供一些大概的方向,但是更多的是参考意义,实际意义很小,因为能公开的,都是已经不再使用的。常见的,比如 DRM ID ,包名、签名不变的情况下,ID 也不变,其实就可以作为设备标识符。还有许多不常见的方案,或者针对特定品牌的,比如曾经 MIUI ,selinux 规则写劈叉了,getprop 可以直接获取 IMEI ,绕过了 Android framework 限制。

    @moonbeama #51 iOS 大体逻辑是相似的,不过因为 iOS 越狱后非常难隐藏,远比 Android 隐藏 BL 锁,root 等等困难。因此对抗端有一条随缘路,就是尽量升级 iOS 版本,越高应用权限收紧越厉害。当然也有一部分头铁团队做对抗,会选择越狱后去魔改,同时尽量隐藏越狱痕迹,这一块其实挺困难的,因为普通团队基本没有什么自主能力可以越狱,大多是第三方提供的方案,风控厂家做针对性检测是相对容易的。
    liuidetmks
        63
    liuidetmks  
       3 天前
    这个问题答案值 10w
    qq135449773
        64
    qq135449773  
       3 天前   ❤️ 2
    希望有人做做善事挖出来这个实现原理,然后反馈给 AOSP 。

    因为设计上讲现在系统层面是不会允许拿到这种级别的唯一 id 的,肯定是利用到了某些系统级别的 bug 。
    engunai
        65
    engunai  
       3 天前   ❤️ 1
    一系列算法计算出来的指纹,浏览器环境中都能生成指纹,更别提手机端这种能拿到相对比较高的权限了,比如在你机器内处理一张图片,处理一张音频,获取其他硬件的信息等,甚至用户行为,组合起来生成唯一 ID , 这些开源的都有实现,大厂内部肯定更强
    slamDunkLINk
        66
    slamDunkLINk  
       3 天前
    楼主澎湃解 BL 是答题解锁的吗
    tanranran
        67
    tanranran  
       3 天前
    @liuidetmks 10W 不止
    ZeroDu
        68
    ZeroDu  
       3 天前
    这种大厂的估计骚操作很多,甚至利用漏洞,参考某多多,等爆出了来就是大事
    hubaq
        69
    hubaq  
       3 天前
    设备基础信息:设备制造商、设备品牌、设备类型及型号、设备名称、设备操作系统信息、设备内存及存储大小、传感器列表、电池及电量信息、基带信息、开机时间、屏幕亮度及分辨率、CPU 信息、系统时区、系统语言、充电状态、系统内核信息;

    设备标识信息(必要):IDFV ;

    设备标识信息(可选):IMEI (国际移动识别码)、IMSI (国际移动用户识别码)、MAC 地址、ICCID (集成电路卡识别码)、硬件序列号、IDFA 、Android ID 、OAID 、Google AID ( Google 广告 ID )、蓝牙 MAC ;

    设备网络信息:IP 地址(可选)、附近 WIFI 列表(可选)、BSSID (可选)、SSID(可选)、运营商信息、网络类型、网络状态、SIM 卡状态、网卡信息;

    设备应用信息:SDK 宿主 APP 信息(包括:应用名称、应用版本、安装时间)、应用列表(可选)。
    hubaq
        70
    hubaq  
       3 天前
    某厂商
    不同设备生成同一个设备指纹的概率小于百万分之 1 。同设备的设备信息发生变化后指纹重新生成的概率,亿级数据的重新生成率小于 0.0014%
    naoying
        71
    naoying  
       3 天前
    @hubaq 可怕,被监控了
    wobuhuicode
        72
    wobuhuicode  
       3 天前
    if not ios return android
    program9527
        73
    program9527  
    OP
       3 天前
    @SkywalkerJi 就给了录音录像权限,其他基本的都不会给的,把读取应用列表之类的都禁用了。目前认为是读取了某些硬件参数,然后生成的指纹,无论是 小米原始系统(未解锁 bl ,未刷机、未 root ),还是刷机后的 lineageos 系统,都能被准确识别。
    program9527
        74
    program9527  
    OP
       3 天前
    @hubaq 即便是刷机,一些硬件驱动版本、vendor 分区等等都是不会变的,我 adb getprops 查看过,某些数据和刷机前是一样的,估计是从硬件读取某些参数,然后匹配判断的。

    但这种太强了。因为我机器是购买的二手机,也就是说地理区域位置都进行了变化,他依旧能够识别的话。说明这种识别已经不依靠 ip 、定位之类的判断,已经能够准确识别全国机器的唯一性了,和 mac 地址没区别了。
    proxytoworld
        75
    proxytoworld  
       3 天前
    大厂有专门的团队搞这个,风控一般,对付一个刷机还是简简单单的
    program9527
        76
    program9527  
    OP
       3 天前
    @hubaq 这么牛 13 。都是依靠软件能够读取的数据进行生成的吗?没使用厂商特殊接口,或者类似 Android 漏洞?
    lwlizhe
        77
    lwlizhe  
       3 天前
    我记得一般的简单刷机好像不会修改 imei ,sn 等东西,这个 op 有对比过刷机前后 imei ,sn 这些东西有变化么,举个例子,现在再重新刷一次机,看看这几个东西有没有变化
    lonelyparasol
        78
    lonelyparasol  
       3 天前
    肯定有内部或者位置接口拿到了一些信息, 参考 Windows 和 Linux 系统, 大把的漏洞和隐藏接口, 具体规则不是内部人员不清楚的.
    wtdd
        79
    wtdd  
       3 天前
    抖音这种可用可不用的 app ,为什么要让他扫脸?
    program9527
        80
    program9527  
    OP
       3 天前
    @lwlizhe 改 imei 没用的,依旧能识别。
    RightHand
        81
    RightHand  
       3 天前 via Android
    也可能系统之间提供了,白名单。举例一键登录
    program9527
        82
    program9527  
    OP
       3 天前
    @wtdd 现在不是说要不要扫脸,而是在无权限、无法获取已知的 imei 、mac 等方式下,怎么得知这台设备的唯一性的
    SkywalkerJi
        83
    SkywalkerJi  
       3 天前
    @program9527 #73
    读取设备标识也要权限的,root 之后可以置空。啥都不让他读,好像就默认风险了。
    program9527
        84
    program9527  
    OP
       3 天前
    @RightHand 一键登录的功能,是运营商提供了相关的 api ,只要接入这个 api ,使用流量访问该 api 。则可以返回 sim 卡的手机号码等一些信息。
    RightHand
        85
    RightHand  
       3 天前 via Android
    @program9527 破这个可比破你系统稳定多了,钞能力即可
    wssy001
        86
    wssy001  
       3 天前
    隐藏 root 、隐藏 BL 锁就行了
    国内 APP 检测这块,工商银行 APP 做得挺好的 只要你的手机 root 后还能正常使用工商银行指纹登录,那别的 APP 只需要注意别给 root 权限即可
    program9527
        87
    program9527  
    OP
       3 天前
    最简单的方法当然是卖掉这个手机,重新买个即可。😂 ,现在不是讨论技术实现么,

    大厂的内部怎么做到的,就目前来看很多大厂都有这类 设备识别 的能力了,防黑产批量起号、或者账号搞违法的,封号后,设备也跟着封掉,这种方式其实也是提高了黑灰的门槛
    program9527
        88
    program9527  
    OP
       3 天前
    @wssy001 根本和 隐藏 root 没关系
    laommmm
        89
    laommmm  
       3 天前
    你就理解为,每台 android 设备都有 id ,就像人们的身份证一样。
    除非你换主板。
    wtdd
        90
    wtdd  
       3 天前
    @program9527 参考游戏封设备?哪会只有 mac……
    program9527
        91
    program9527  
    OP
       3 天前
    @laommmm 讨论的是技术实现。怎么识别这台设备 id 的?
    skyfeipp
        92
    skyfeipp  
       3 天前
    @coderzhangsan 抖音竟然也只用 oaid 做关联标识符吗
    youxiachai
        93
    youxiachai  
       3 天前
    这是一个价值很多钱的问题吧,懂这个的感觉都不会公开来说
    mandex
        94
    mandex  
       3 天前
    小米的话可以试试应用双开,不要用默认的,用双开出来的那个试试看看能不能识别出来。
    XiaoXiaoMagician
        95
    XiaoXiaoMagician  
       3 天前
    有没有可能,抖音代码逻辑是,如果拿不到相关标识,则直接判定当前设备就是风险设备呢?
    bingochou
        96
    bingochou  
       3 天前
    有没有可能,就是抖音需要的某个权限没有给导致的呢。之前我用建行想升级成强认证设备,也是一直不成功。后面发现是没有给建行“获取手机号码用于一键登录”权限。有时候读取不到该有的信息也是一种”风险“
    levelworm
        97
    levelworm  
       2 天前
    @engunai #65
    这么说,的确是有很多办法藏东西进来了。。。那如果我从一开始就扔到虚拟机里呢?每次都用不一样的虚拟机。
    buynonsense
        98
    buynonsense  
       2 天前
    https://github.com/Android1500/AndroidFaker
    这个项目能修改一些安卓设备标识,我的想法是也许可以逐一排查?
    limiter
        99
    limiter  
       2 天前
    手机公共存储区域是不是拉了一坨屎,藏在哪个隐藏文件夹,里面放着一些指纹数据啥的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 17:22 · PVG 01:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.