dy、ks最新版通用quic协议解决方案

短视频最新版通用quic协议解决方案

文章转载于: https://bbs.pediy.com/thread-268651.htm

看到很多人在说短视频新版app抓不到包,这里接提供解决方案。
由于最新版的两款短视频都使用了quic协议,这就导致爬虫小伙伴在抓包的过程遇到不能抓包的问题,这里提供他们quic协议所有版本的通用解决方案,使他们不使用quic协议,直接通过Charles抓包。

由于不能透露app名字,那就按活跃度说吧。

quic协议是什么

**QUIC(Quick UDP Internet Connection)**是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP、TLS、HTTP/2等协议的可靠性与安全性,可以有效减少连接与传输延迟,更好地应对当前传输层与应用层的挑战。

最火的短视频app

对于该app禁止quic相关的so加载即可,记得没错的话该so是libcronet.so**,通过ida也可以看到相关函数名。
dy、ks最新版通用quic协议解决方案
该部分的xposed代码如下:

XposedHelpers.findAndHookMethod("org.chromium.CronetClient", lpparam.classLoader, "tryCreateCronetEngine", Context.class, boolean.class, boolean.class, boolean.class, boolean.class, String.class, Executor.class, boolean.class, new XC_MethodHook() {
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                Util.xposedLog("CronetClient disable tryCreateCronetEngine");
                param.setResult(null);
            }
        });

这样就可以继续抓包奔放了。

排名第二的短视频app

该app使用quic协议比较早,之前由于不同版本混淆,导致hook代码要更新,后来通过看了一部分Cronet网络库的资料,找到该通用型的解决方案,该app的加载的so是libconnection**.so,记得没错的话。
dy、ks最新版通用quic协议解决方案
该部分的xposed代码如下:

    XposedHelpers.findAndHookMethod("com.**.aegon.Aegon", lpparam.classLoader, "nativeUpdateConfig", String.class, String.class, new XC_MethodHook() {
            @Override
            protected void
    beforeHookedMethod(MethodHookParam param) throws Throwable {
param.args[0] = "{\"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\": []}";
            }
        });

最后+用postern转发到抓包工具。
看雪上的另外一种
使用iptables 禁止掉udp的53端口,因为quic使用的udp发包,53端口又主要用于域名解析,所以禁止掉后,无法正常通讯,就会自动降级到http

小结

现在的quic协议抓包基本是通过quic无法正常使用,迫使app使用http进行抓包,希望能通过分析cronet相关源码进行突破,直接抓取quic的相关数据包。

如果你觉得麻烦,这里有已经改包好的app和插件,可以直接抓包!
可以滴滴 扣扣: 519545433

上一篇:Python基础——练手小程序(模拟闹钟)


下一篇:Redis Json 的安装与实战,真的很丝滑