使用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工具搜索一下就好。