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

这是什么情况?微信 iOS 端可以绕过权限知道用户安装了哪些 app 了?

  •  
  •   hhxx6 · 2019-07-04 10:13:34 +08:00 · 6326 次点击
    这是一个创建于 1729 天前的主题,其中的信息可能已经有所发展或是发生改变。

    iOS 的权限是禁止 app 读取用户已安装 app 列表的

    可是昨天打开 iTunes 备份发现(已越狱设备应该可以直接在设备上看见):

    在微信的 documents 文件夹里面有一个一长串数字加字母的文件夹,这个就是代表某个登录的用户文件夹。

    在这个文件夹里面有一个 appicon 文件夹(一般就是文件夹内 name 顺序排列第一个),打开看了一下,里面就是我所安装过的 app 的图标图片

    这样是不是相当于说微信已经可以绕过权限知道用户安装过哪些 app 了?

    14 条回复    2019-07-09 12:19:21 +08:00
    agagega
        1
    agagega  
       2019-07-04 12:26:40 +08:00 via iPhone
    Word 也能看你安装其他 Office 软件(比如 Excel )没有。
    zea
        2
    zea  
       2019-07-04 18:11:02 +08:00 via Android
    如果微信知道用户手机上装了$,岂不是可以直接加入重点关注?
    dourgulf
        3
    dourgulf  
       2019-07-05 09:13:51 +08:00
    你的设备越狱了吧?
    hhxx6
        4
    hhxx6  
    OP
       2019-07-05 12:01:55 +08:00
    @dourgulf 没有
    hhxx6
        5
    hhxx6  
    OP
       2019-07-05 12:02:30 +08:00
    @zea 当然可以,而且通过你安装了什么 app,还可以给你推送特定广告
    hhxx6
        6
    hhxx6  
    OP
       2019-07-05 12:02:47 +08:00
    @agagega word 和 excel 都是微软的,很正常
    itenyh
        7
    itenyh  
       2019-07-05 17:54:37 +08:00 via iPhone
    回去看看
    fvckDaybyte2
        8
    fvckDaybyte2  
       2019-07-06 11:09:08 +08:00 via iPhone
    据我所知 iOS 是可以检测特定软件是否安装,用 canOpenUrl 接口,系统只告诉你是或否,你想获取软件列表,只能先把所有已知软件的 url 列出来,然后一个一个去试能不能跳转
    zea
        9
    zea  
       2019-07-06 19:46:15 +08:00 via Android
    @fvckDaybyte2 敏感软件比如说$,如果没有注册调用接口的情况下是不是就检测不到了?没做过 ios 开发不懂…
    lp10
        10
    lp10  
       2019-07-08 11:24:48 +08:00
    里面是*只有*你装过的软件的图标还是*含有*你装过的软件的图标?
    lp10
        11
    lp10  
       2019-07-08 11:27:28 +08:00
    是包含*所有*你的软件还是*只有接入了微信登录*的软件?
    devjia
        12
    devjia  
       2019-07-08 14:14:43 +08:00
    我猜是缓存了接入了 wx SDK 的应用 icon, 因为部分界面 UI 需要显示这个图标.
    线索 1: canOpenUrl 有上限 50 的限制, 用这个检测 applist 行不通了.
    线索 2: 即使 wx 真的使用了不可描述的手法搞到了 applist , 肯定也会处理完然后消除罪证.
    zenor
        13
    zenor  
       2019-07-09 11:19:45 +08:00
    @devjia 同意,或者是和 WX 有合作的,可以跳转的那些应用的一个简单的是否安装
    argc
        14
    argc  
       2019-07-09 12:19:21 +08:00
    ios 上有私有 api 能获取 app 安装列表,至于绕过私有 api 检测的方式有很多种,不过这个 api 据我所知在 iOS12 (没记错的话也可能是 11 )中已经移除了。所以如果是 iOS12 之前的备份,有这个安装列表也不奇怪。当然我觉得就算微信会去拿你的列表也不会傻乎乎的保存在本地。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   952 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 21:10 · PVG 05:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.