开源
起因
本学期还剩 60 天不到,学校要求完成 30 次跑步,每次 2.5km
,每天还只能跑一次。
找来找去,找到一个过时的项目(现在作者重构了,我觉得是在为难我),准备对它完成一点修复。
过程
我的目标是一个叫做高校体育的应用。与它的同行所不同的是,这个应用不仅上了 https
,还做了 SSL Pinning
,使用的 http 库是 OKHttp/3.0
,所以我常用的 JustTrustMe
模块对它也束手无策,所以我使用了另外一种方法,他就是
Frida
根据文档,你可以选择使用 objection
向目标 apk
注入 gadget
,命令
objection patchapk -s target.apk
但是在高校体育上,这个命令会出错)
所以转为使用 frida-server
,这需要你的设备有 root 权限(应该都有
你可以使用 adb push
或者直接把 binary 发送到手机再手动执行,也可以安装一个 magisk 模块 MagiskFrida
。
在执行完上述步骤之后,你应该可以使用 frida-ps -U
来查看手机上当前正在运行的进程。
注意:这个命令中的
-U
指的是 USB 连接,也就是说,你的设备应该是使用 USB 连接到开发机的。如果你使用的是网络 adb 之类的,你应该查阅frida
的文档来使用正确的选项。
如果上一步成功的话,执行 objection -g app.target.process explore
来打开对应进程的 explore。
然后执行 android sslpinning disable
来禁用 SSL Pinning
这个窗口要保持打开,frida 会一直 hook 对于 TrustManager 的调用
现在,你应该可以按照正常的抓包流程抓包了(自定义的 CA 还是要装的)
结束
不想写了,就是常规抓包研究流程)
之前那个项目失效其实只需要把 host 从 http
改成 https
就好了
我在自己的 fork 里修改了部分来跟上版本,你也可以使用原作者用 GoLang 重构的版本
回复 polichan 取消回复