由于使用的方式是长连接,所以导致抓包失败,解决这个我使用的frida进行hook解决。
我是用的信息版本
手机:一加2
frida:12.11.18
jadx
app:6.28.0
首先使用ddms录制一下app启动搜索时候接口数据,获取轨迹网上很多教程我不写了
然后定位到请求走的方法
定位到类之后,确定哪个方法是获取数据的:然后获取到castCallBackNew这个方法下面
获取到之后发现这个方法不是真的确定
上面这个方法是链接确定的是否是返回模式
思路:
首先次方法进去是一个判断,前面两个判断直接打印日志一定有问题,所以一定是最后一个判断
然后最后一个判断点进去获取第一个是
AtomicInteger atomicInteger = new AtomicInteger(0);
好像没啥用掠过
boolean canUseLongLink = ApiNetChannelSelector.getInstance().canUseLongLink(this.request, atomicInteger);
这个地方是判断的,
这个是进来的地方,看出来这个判断大部分清空下是false,我们也用false
然后就到这里了
最后一个是也是判断是否为空,我们一定不能为空,这个一定是坑,那就是最后一句了,拿这就简单了,直接全部删除,我们用最后一句就行
titanApiCallBack.onResponse(this, sceneToErrorCode(atomicInteger.get()), null);
这一句是核心,但是吧这个三个数据是啥,第一个是静态,最后一个是空,也就是中间是核心,定位一下代码
上面是不是还是晕
看下这个地方就知道了,这个返回的其实应该是状态码
那就简单了,直接返回一个200试试
核心代码这样的,测试一下抓到了