iOS 的权限是禁止 app 读取用户已安装 app 列表的
可是昨天打开 iTunes 备份发现(已越狱设备应该可以直接在设备上看见):
在微信的 documents 文件夹里面有一个一长串数字加字母的文件夹,这个就是代表某个登录的用户文件夹。
在这个文件夹里面有一个 appicon 文件夹(一般就是文件夹内 name 顺序排列第一个),打开看了一下,里面就是我所安装过的 app 的图标图片
这样是不是相当于说微信已经可以绕过权限知道用户安装过哪些 app 了?
![]() | 1 agagega 2019-07-04 12:26:40 +08:00 via iPhone Word 也能看你安装其他 Office 软件(比如 Excel )没有。 |
2 zea 2019-07-04 18:11:02 +08:00 via Android 如果微信知道用户手机上装了$,岂不是可以直接加入重点关注? |
3 dourgulf 2019-07-05 09:13:51 +08:00 你的设备越狱了吧? |
![]() | 7 itenyh 2019-07-05 17:54:37 +08:00 via iPhone 回去看看 |
8 fvckDaybyte2 2019-07-06 11:09:08 +08:00 via iPhone 据我所知 iOS 是可以检测特定软件是否安装,用 canOpenUrl 接口,系统只告诉你是或否,你想获取软件列表,只能先把所有已知软件的 url 列出来,然后一个一个去试能不能跳转 |
9 zea 2019-07-06 19:46:15 +08:00 via Android @fvckDaybyte2 敏感软件比如说$,如果没有注册调用接口的情况下是不是就检测不到了?没做过 ios 开发不懂… |
![]() | 10 lp10 2019-07-08 11:24:48 +08:00 里面是*只有*你装过的软件的图标还是*含有*你装过的软件的图标? |
![]() | 11 lp10 2019-07-08 11:27:28 +08:00 是包含*所有*你的软件还是*只有接入了微信登录*的软件? |
![]() | 12 devjia 2019-07-08 14:14:43 +08:00 我猜是缓存了接入了 wx SDK 的应用 icon, 因为部分界面 UI 需要显示这个图标. 线索 1: canOpenUrl 有上限 50 的限制, 用这个检测 applist 行不通了. 线索 2: 即使 wx 真的使用了不可描述的手法搞到了 applist , 肯定也会处理完然后消除罪证. |
14 argc 2019-07-09 12:19:21 +08:00 ios 上有私有 api 能获取 app 安装列表,至于绕过私有 api 检测的方式有很多种,不过这个 api 据我所知在 iOS12 (没记错的话也可能是 11 )中已经移除了。所以如果是 iOS12 之前的备份,有这个安装列表也不奇怪。当然我觉得就算微信会去拿你的列表也不会傻乎乎的保存在本地。 |