V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ansenJ
V2EX  ›  问与答

[不懂就问] 拼多多 iOS 版是如何实现在卸载再重装时无感知登陆的?

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

    拼多多删照门事件 已经有个帖子在讨论了 这就不谈了.

    作为 iOS 用户, 想知道拼多多是如何实现静默登陆的?

    复现方式:

    卸载拼多多 -> 应用商店重新下载安装 -> 打开拼多多 -> 点击'我的'

    你会发现账号已经帮你登陆好了.

    但是按照 iOS 应用的沙盒机制, 卸载的时候所有的相关数据也都会被清理.

    简单测试了一下,

    拼多多在安装的时候会开启我的iCloud,

    即使安装后手动关闭拼多多使用 iCloud 权限, 仍会在第一次启动时静默打开,

    可是手机 设置 -> iColud -> 管理储存空间 的列表中,

    并没有看到拼多多的图标.

    求专业的大佬指教一下, 拼多多这玩意儿, 到底是怎么实现静默登陆的, 谢谢.

    讲真 现在说拼多多干啥我都信

    讲真 现在说拼多多干啥我都信

    讲真 现在说拼多多干啥我都信

    讲真 现在说拼多多干啥我都信

    讲真 现在说拼多多干啥我都信

    23 条回复    2021-03-02 18:27:35 +08:00
    zsyld
        1
    zsyld   55 天前
    钥匙串呀,友盟之类的广告联盟呀,除非你抹掉所有数据
    jerryrib
        2
    jerryrib   55 天前
    安卓有残留数据,但是残留数据并不能无感知登录~IOS 不知道
    terence4444
        3
    terence4444   54 天前 via iPhone
    禁用 keychain 试试看
    ansenJ
        4
    ansenJ   54 天前
    @zsyld
    @terence4444
    禁用了钥匙串, 亲测还是可以自动登陆
    ansenJ
        5
    ansenJ   54 天前
    @jerryrib 我觉得黑科技的点也就在这里了, 既然能实现, 肯定是有方法的吧, 但是我不是 iOS 开发
    catvoo
        6
    catvoo   54 天前
    spoootify 。。也是重装 app 免登录
    wangkun025
        7
    wangkun025   54 天前
    广告标识符?
    tmac6740
        8
    tmac6740   54 天前
    就是 keychain 这个不是 iCloud 的 是存在本地的
    icreeper
        9
    icreeper   54 天前
    很多应用都有类似的机制 这个倒不必过度恐慌 这方面苹果还是有节操的
    WebKit
        10
    WebKit   54 天前 via Android
    @jerryrib 这算张嘴就来吗? Android 的拼多多恰好只在 /data/data 文件里写了数据。这里的数据卸载时系统一起删除的
    vincentxue
        11
    vincentxue   54 天前   ❤️ 9
    iOS 非私有 API 能做追踪的只有三种东西,钥匙串、广告标识符以及 iOS 11 推出的 DeviceCheck 。

    钥匙串是本地服务,是不能被关闭的。你操作的那个开关只是共享的开关,不是钥匙串的开关,你把你手机抹掉再装个拼多多,百分百要你重新登录。

    广告标识符不适合做这件事,因为很容易就重置了,而且也不安全,容易被仿冒。

    DeviceCheck 只有两个 Bit 的空间,也就是只能存 4 个状态,也做不了这个事情。
    wunonglin
        12
    wunonglin   54 天前
    拔卡后就行了
    stark123
        13
    stark123   54 天前
    知乎也可以
    icyalala
        14
    icyalala   54 天前
    不用猜,就是本地 Keychain 。
    用户层面没有办法主动禁用,只能重置全部数据。
    Cavolo
        15
    Cavolo   54 天前 via iPhone
    不就本店 keychain 么,外卖软件都靠这个来作为识别你是不是真的首单的一个依据
    Leonard
        16
    Leonard   54 天前 via iPhone
    就是本地 keychain,你在 iCloud 里禁用没用
    natashahollyz
        17
    natashahollyz   54 天前 via iPhone
    虽然拼多多恶心
    但是也别尬黑
    ansenJ
        18
    ansenJ   54 天前
    @tmac6740
    @icreeper
    @vincentxue
    @icyalala
    @Cavolo
    @Leonard

    感谢, 的确不是 iOS 开发, 所以对于这个机制不是太懂, 尤其感谢 @vincentxue 的讲解,学习到了.
    ansenJ
        19
    ansenJ   54 天前
    @natashahollyz 都说了不懂就问, 出了这么多事儿, 我是不喜欢拼多多, 但是对于拼多多静默登陆机制的实现, 我也的确是请教的态度. 动不动就给人加标签, 说尬黑的, 你自己真的什么都懂?
    natashahollyz
        20
    natashahollyz   54 天前 via iPhone
    @ansenJ 不爽可以拉黑呀
    ansenJ
        21
    ansenJ   54 天前
    @natashahollyz
    我刚刚的回复里没有一个字是怼人的哦...


    你这是 X 生活多么不和谐 才会想到来 V 站怼人啊...[捂脸笑.png][捂脸笑.png][捂脸笑.png]
    (上面这句是怼人...)
    Chenamy2017
        22
    Chenamy2017   54 天前
    Keychain 的特点
    数据并不存放在 App 的 Sanbox 中,即使删除了 App,资料依然保存在 keychain 中。如果重新安装了 app,还可以从 keychain 获取数据。
    Maskeney
        23
    Maskeney   6 天前   ❤️ 1
    @vincentxue #11 这么说 App 完全可以也有这个动机去用 Keychain 来储存持久化 UID 之类的追踪标记符,并且这个追踪标记符也可以跨应用和设备(开启 iCloud 同步钥匙串),那广告标识符还有什么存在的意义?另外这与 Apple 一贯喜欢宣传的隐私保护岂不是背道而驰吗?
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3253 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:54 · PVG 20:54 · LAX 04:54 · JFK 07:54
    ♥ Do have faith in what you're doing.