除了 keychain ,还有设备指纹,也不知道读了什么,抓包研究过
```
https://app.bilibili.com/x/resource/fingerprint```
这个 api 上报了数据之后,返回相同的 device id
```
{
"code": 0,
"message": "OK",
"ttl": 1,
"data": {
"bili_deviceId": "9C26755D7F8224E544255454395FB4A120230324001723EBAACB6F2A27D8EB23"
}
}
```
而且,/x/*之下的部分 api 会携带参数,导致即使 mitm 修改 deviceID ,服务端也会返回相同的推荐数据,研究至此就不浪费时间了,懒得写脚本去搞它了
直接安装的就不说了,keychain 删不掉,除非重置,而使用以下方法,仍然可以获取到正确的 device id
Livecontainer 安装 -> 新建容器&清空原容器数据和 keychain -> 使用新容器打开 app ,抓包仍然可以返回正确的 device id
目前测试可以避免跟踪的方法:
使用 livecontainer 安装 -> 卸载时删除容器 keychain&清空数据 -> 卸载 liveconatiner -> 使用 sidestore 等重新安装 livecontainer -> 重新安装 bilibili app