使用Charles、Fiddle等抓包工具对淘系App进行抓包时,你会发现总是抓不到包,出现请求不走Charles代理的情况。这是因为淘系app底层网络通信的协议并不是普通的http协议,而是自己实现的一套私有协议Spdy。
通过对App反编译破解后分析发现,部分接口由于使用了spdy协议,导致无法抓包。

所以我们只要通过hook将是否使用spdy返回false既可。
解决:
这里使用Frida工具(也可使用Xposed)进行Hook,代码如下:
Java.perform(function () {
var SwitchConfig = Java.use('mtopsdk.mtop.global.SwitchConfig');
SwitchConfig.nQ.overload().implementation = function () {
return false;
}
});
然后使用命令frida -U -l xy_hook.js --no-pause -f com.taobao.idlefish
启动App进行抓包。抓包效果如下,可以看到已经能抓到了。

ps:不同淘系App,甚至不同版本,根据混淆的不同,方法名都有可能不同,这个需要具体情况具体分析,一般通过jd-gui工具搜索一下就好。
正文完