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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    因为设计上讲现在系统层面是不会允许拿到这种级别的唯一 id 的,肯定是利用到了某些系统级别的 bug 。
    engunai
        65
    engunai  
       97 天前   ❤️ 1
    一系列算法计算出来的指纹,浏览器环境中都能生成指纹,更别提手机端这种能拿到相对比较高的权限了,比如在你机器内处理一张图片,处理一张音频,获取其他硬件的信息等,甚至用户行为,组合起来生成唯一 ID , 这些开源的都有实现,大厂内部肯定更强
    slamDunkLINk
        66
    slamDunkLINk  
       97 天前
    楼主澎湃解 BL 是答题解锁的吗
    tanranran
        67
    tanranran  
       97 天前
    @liuidetmks 10W 不止
    ZeroDu
        68
    ZeroDu  
       97 天前
    这种大厂的估计骚操作很多,甚至利用漏洞,参考某多多,等爆出了来就是大事
    hubaq
        69
    hubaq  
       97 天前   ❤️ 1
    设备基础信息:设备制造商、设备品牌、设备类型及型号、设备名称、设备操作系统信息、设备内存及存储大小、传感器列表、电池及电量信息、基带信息、开机时间、屏幕亮度及分辨率、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  
       97 天前
    某厂商
    不同设备生成同一个设备指纹的概率小于百万分之 1 。同设备的设备信息发生变化后指纹重新生成的概率,亿级数据的重新生成率小于 0.0014%
    naoying
        71
    naoying  
       97 天前
    @hubaq 可怕,被监控了
    wobuhuicode
        72
    wobuhuicode  
       97 天前
    if not ios return android
    program9527
        73
    program9527  
    OP
       97 天前
    @SkywalkerJi 就给了录音录像权限,其他基本的都不会给的,把读取应用列表之类的都禁用了。目前认为是读取了某些硬件参数,然后生成的指纹,无论是 小米原始系统(未解锁 bl ,未刷机、未 root ),还是刷机后的 lineageos 系统,都能被准确识别。
    program9527
        74
    program9527  
    OP
       97 天前
    @hubaq 即便是刷机,一些硬件驱动版本、vendor 分区等等都是不会变的,我 adb getprops 查看过,某些数据和刷机前是一样的,估计是从硬件读取某些参数,然后匹配判断的。

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

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