由于快手使用的是quic协议,所以常规抓包工具是抓不到包的,反编译查看源码可以清楚看到okhttp3的包名,所以介绍两种抓包方式

一. 通过hook禁用quic协议降级为http发包

快手版本: 8.1.30.16773

Java.perform(function(){
    var dd = Java.use("j.c.e.d");
    dd.$init.overload('java.lang.String','java.lang.String').implementation=function (a1,a2){
        this.$init("{\"enable_quic\": false, \"preconnect_num_streams\": 2, \"quic_idle_timeout_sec\": 180, \"quic_use_bbr\": true, \"altsvc_broken_time_max\": 600, \"altsvc_broken_time_base\": 60, \"proxy_host_blacklist\": []}",a2)
    }
})

通过frida -U ks.js -f com.smile.gifmaker --no-pause启动

二. hook发包模块okhttp3

1. hook okhttp3模块

Java.perform(function(){
    var OkHttpClient = Java.use("okhttp3.OkHttpClient");
    OkHttpClient.newCall.implementation = function (request) {
        var result = this.newCall(request);
        console.log("请求:", request.toString());
        return result;
    };
})

使用这种方式只能hook到请求链接,可以通过 hook 拦截器来拿到想要的数据

2. okhttp成品拦截器

hook方式推荐博客

最后修改:2022 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏