Open sekaiacg opened 1 year ago
这个应该不是或者不仅仅是刷新cookie的问题,如果cookie不刷新按理来说应该直接退出登录的。我测试即使是新扫的二维码也存在问题。
修改: 修改扫码登录的api到目前pc端使用的api上,看返回的信息有效期应该是半年。新的接口允许在手机app端远程退出。
未解决的问题:
根据上面的说明确实可以通过逆向wasm的方式按照web端来刷新,不是很懂逆向:RSA算法 SHA256哈希 需要找到其他算法参数与公钥。找到了一个类似的项目,不知道B站的是不是从这个改来的:https://github.com/Harzu/wasm-rsa
也可以通过wasm2c来加载,但是貌似有一些浏览器的调用需要重新实现一下。
另一个方法是等pc端刷新时抓包看看pc端是如何刷新cookie的,但是貌似短时间不刷新。或者有其他的办法,可以琢磨琢磨。
登录过程中生成了一系列指纹用来标识用户,目前的登录逻辑并不是和pc端严格一致,有一些cookie值不知道是怎么生成出来的,据说B站使用了这个仓库:https://github.com/fingerprintjs/fingerprintjs
这个应该不是或者不仅仅是刷新cookie的问题,如果cookie不刷新按理来说应该直接退出登录的。我测试即使是新扫的二维码也存在问题。
修改: 修改扫码登录的api到目前pc端使用的api上,看返回的信息有效期应该是半年。新的接口允许在手机app端远程退出。
未解决的问题:
- 保留了扫码登录返回的 refresh_token 但是并没有找到办法去抓到pc端的刷新请求,所以暂时没有实现。
- 根据上面的说明确实可以通过逆向wasm的方式按照web端来刷新,不是很懂逆向:RSA算法 SHA256哈希 需要找到其他算法参数与公钥。找到了一个类似的项目,不知道B站的是不是从这个改来的:https://github.com/Harzu/wasm-rsa
- 也可以通过wasm2c来加载,但是貌似有一些浏览器的调用需要重新实现一下。
- 另一个方法是等pc端刷新时抓包看看pc端是如何刷新cookie的,但是貌似短时间不刷新。或者有其他的办法,可以琢磨琢磨。
- 同一个设备重复登录,在手机app端会被当成两个设备。
登录过程中生成了一系列指纹用来标识用户,目前的登录逻辑并不是和pc端严格一致,有一些cookie值不知道是怎么生成出来的,据说B站使用了这个仓库:https://github.com/fingerprintjs/fingerprintjs
666,作者加油
我不准备研究这个问题了,如果有其他人有需要可以看一看上面的内容来继续搞一搞
获取的cookie存在有效期,如果过期,部分api无法正常请求 需要在即将过期/过期后刷新cookie
点赞/投币会报告401错误
我搜了下,有相关api项目,比较复杂 https://github.com/SocialSisterYi/bilibili-API-collect/issues/524