Open ysc3839 opened 3 years ago
之后会加代理模式获取key,也许PS版能用上?
代理模式是使用自签名证书解密 https 流量吗?PS 应该不会允许用户安装证书,所以是不可行的。
https://github.com/sunfkny/genshin-gacha-export 可以试下另外个项目的代理模式,甚至不需要安装证书。 可能只是游戏内置浏览器的问题,不知道PS端是否一样有效。
看了下代码,也是使用 mitmproxy
解密 https 流量实现的。 https://github.com/sunfkny/genshin-gacha-export/blob/54dda8b5c784e40dff1f00fce4c5858ada9db25a/main.py#L255-L259
不需要安装证书可能是游戏内浏览器忽略了证书错误,个人认为 PS 的浏览器不会忽略错误。
自己大概找到了个可以使用的方式,不过因为不太清楚作者的配置文件的信息是怎么加密解密的,所以是手动写游戏日志文件来完成读取。
(以下步骤开始就是强行怼进作者读取信息的日志文件的方式)
OnGetWebViewPageFinish:(冒号后面为第6步中复制的url)
- 打开程序开始更新数据
PS:希望能加一个直接输入这个url的入口 以及代理模式的时候貌似没有读取到请求的样子,fiddler如果全程开启https解密则无法进入游戏
@brainbush 我没想到可以手动忽略证书错误,手头上也没有 PS4/PS5,所以想当然觉得是不可忽略的。
@brainbush 试过直接用工具的代理模式生成的代理服务器吗? 设置里开了代理模式后,并且本机日志找不到URL的情况下会启动代理服务器。
f9513ee 发现前一个版本的代理模式对hostname的匹配正则写错了,不会获取到国服的URL, 升到v0.5.7后可以再试试。
f9513ee 发现前一个版本的代理模式对hostname的匹配正则写错了,不会获取到国服的URL, 升到v0.5.7后可以再试试。
谢谢更新,这边使用代理模式PS4内置浏览器打开不会提示证书错误,但是因为代理拦截的域名是 hk4e-api.mihoyo.com 对于抽卡记录信息页面的ajax请求因为SSL证书握手失败(wireshark内看到交换证书后直接断开连接并未发送http请求),并不会弹出浏览器提示能强制信任并在工具中获取到url,所以不知是否可以考虑换成使用 webstatic.mihoyo.com 进行抓取?
@brainbush 我昨晚睡觉时也是这样想的,正准备今天改下
可以自动更新到v0.5.8了
可以自动更新到v0.5.8了
试了下,这个版本在代理获取的方式下能成功抓取记录,非常感谢。 顺便附一个CA警告的截图(可能写说明的地方能带上?)
看了别人给的 PS5 URL 截图,估计 OCR 是不可行的了,因为大写的 I
和小写的 l
几乎一模一样。
同时自己用 Tesseract 识别出来的结果中错误也比较多。
用在线的 OCR 服务结果似乎好一点,但不适合用在此项目中。
目前 PS 版原神和 PSN 账号绑定,不可在 PC 或手机上登录,无法使用此工具。 经过网友的测试,PS 版的抽卡记录页面是使用系统的浏览器打开的,能查看页面链接,但不能复制。 个人认为可以考虑让用户截图,然后通过 OCR 识别出 key。