可以通过hook java层如下图所示的地方,dy默认走的是quick协议,但是为了兼容更多版本的手机,有一个降级操作,毕竟担心cronet低版本适配不好,所以可以通过hook这个方法来使其强制降级到Http协议。
frida脚本:
1 2 3 4 5 6 7 8 9 |
setImmediate(function() { Java.perform(function() { var targetClass = 'org.chromium.CronetClient' ; var methodName = 'tryCreateCronetEngine' ; var gclass = Java.use(targetClass); gclass[methodName].overload( 'android.content.Context' , 'boolean' , 'boolean' , 'boolean' , 'boolean' , 'java.lang.String' , 'java.util.concurrent.Executor' , 'boolean' ).implementation = function(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) { } }) }) |
frida hook一下就可以抓包了,解决了so patch一些包抓不了的问题,应该可以通杀全版本dy。
高级逆向与反混淆