**声明:**本文仅作技术交流,严禁用于任何非法用途(如有冒犯,请联系我删除此文)
目标:通过协议方式采集
1.使用jadx打开APP
可以看到代码并没有被混淆,哇瑞古德,节约了脱壳时间
2.抓包分析
直接打开"踹你思"工具,抓包
请求和返回值都加密了,看不出原始值,通过分析请求,得出使用了socket协议
既然抓包分析不出啥,那就直接frida hook调试+看静态代码了
3.hook分析
因为使用的socket协议,这里直接hook socket的getOutputStream和getInputStream方法,经过耐心分析,得出请求都是由SOTPConnection类管理的
从这里耐心分析,就能了解到整个发包和解包的流程,整个请求体是,请求头+参数组成,请求头是protobuf协议,中间使用了so文件加密,最后通过多次尝试和修改,得到了稳定的数据返回