最近发现某app无法抓包,使用hooker的url.js发现使用的为okhttp3;okhttp3可设置proxy为no_proxy,则不走系统代理,导致无法抓包。
解决办法
Frida hook proxy 函数,修改proxy值,可直接设置proxy为burpsuite代理,即可愉快的抓包,另外一种方式,设置proxy为null,测试不能抓包,不知道原因
```javascript
Java.perform(function() {
var okhttp3 = Java.use('okhttp3.OkHttpClient$Builder');
okhttp3.proxy.implementation = function(x) {
var proxyObject = Java.use('java.net.Proxy').$new(Java.use('java.net.Proxy$Type').HTTP.value, Java.use('java.net.InetSocketAddress').$new('10.222.7.102', 8080));
// Modify the behavior of noProxy() method
// For example, return a custom list of hosts that should not use a proxy
console.log('no_proxy setting');
var result = this.proxy.call(this, proxyObject);
console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
return this.proxy.call(this, proxyObject);
};
});