短视频dy(某音)高版本最新最全4种抓包方案,第1种让你秒破QUIC协议,破解抓包难题,看我这一篇就够了!

2023-10-26

一、前言

一般大多数网站、APP最常用的是http、https协议,而某两款最火的短视频dy(某音)、ks(某手)最新版使用的是quic协议(见附录1),导致fiddler和charles无法直接抓到包(某音app 13.5版本以下可以直接抓到包)。
网上有说用fiddler + xposed + justTrustMe能绕过某音的sslpinning,呵呵,别傻了好不好,dy(某音)、ks(某手)用的是非系统的sslpinning技术,使用那个方案只能绕过Java层的sslpinning,而dy(某音)、ks(某手)的sslpinning是在so层,根本行不通的好吧!不要再误人子弟了!(此方案亲测无用)
而我给大家带来的几种方案都是亲测可行的,主要思路是禁用或者绕过quic相关的so加载,迫使它走https协议。某音的相关so文件是libsscronet.so ,接下来看方案准备前的环节。

二、方案

方案前准备

将抓包工具证书转换并添加到Android系统证书。今天我们用的抓包工具是charles、模拟器是夜神模拟器,首先需要做的是将Charles证书转换并添加到Android系统证书,方便HTTPS抓包。(Android 7.0以上版本必须要把证书添加到系统信任区,否则无法抓取https请求)。
具体步骤教程看:
https://blog.csdn.net/m0_59683157/article/details/122812586
其中openssl需要单独下载安装,下载安装教程看: https://blog.csdn.net/houjixin/article/details/25806151

方案(一):直接删除libsscronet.so。

1、在夜神模拟器上,直接安装某音高版本apk:直接把apk拉进模拟器,即可安装
2、安装完以后,使用adb命令进入到模拟器终端shell环境(没安装adb的,可以直接用模拟器的adb命令,进入到模拟器bin目录,即可使用adb命令,也可先加到windows环境变量,方便后续使用):adb shell
3、进入到so文件目录:
cd /data/data/com.ss.android.ugc.aweme/lib
4、最后删除libsscronet.so:rm libsscronet.so
在这里插入图片描述
5、最后即可抓包成功

方案(二):安装xposed插件,绕过quic协议

1、下载安装xposed。在模拟器中xposed下载安装教程:https://baijiahao.baidu.com/s?id=1720356526386732365&wfr=spider&for=pc
2、xposed插件安装
(1)下载安装AndroidStudio,到官网下载安装即可
(2)用AndroidStudio搭建xposed环境,demo编写教程:https://blog.csdn.net/qq_39551311/article/details/119826692
(3)编写dy(某音)的xposed插件(在hook代码主体部分替换为如下代码):

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);
            }
        });

(4)如果不想编写这个插件,qq联系我发给你,qq:1723332145

方案(三):直接用IDA反编译libsscronet.so文件,将ssl验证的地方修改

在这里插入图片描述

教程可参考这两篇:https://bbs.pediy.com/thread-269028.htm
https://blog.csdn.net/chl191623691/article/details/123668069

方案(四):直接用Frida来hook libsscronet.so文件,在验证sslpinning地方动态将值改为0即可

三、结语

上面第一、二种方案是最容易处理quic协议的方案,尤其推荐第二种,是比较通用的解决quic的方式,第三、四种方案涉及到反编译so文件,然后hook或者修改so文件绕过sslpinning的方案,比较麻烦,由于篇幅原因,只介绍大概流程,不详细介绍,如果有需要或者不明白的小伙伴可以单独私聊我,qq:1723332145
注:这里的逆向技术仅用于学习、研究,不可用于商用或者违法用途,另外本文章属于原创,原创不易,请各位转发的时候也请注明转发地址,否则一旦发现,后果自负,谢谢各位观看。

四、附录

(一)Quic协议

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

(二)某音xposed插件

获取插件资源,联系我qq:1723332145

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

短视频dy(某音)高版本最新最全4种抓包方案,第1种让你秒破QUIC协议,破解抓包难题,看我这一篇就够了! 的相关文章

  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • 在 Android 中使用 iText 读取或打开 PDF 文件

    我是 Android 应用程序开发新手 使用 iText 我完成了 PDF 创建并在创建的文件上写入 现在我想阅读该 PDF 文件 如何使用 iText 打开或阅读 PDF 文件 例子将是可观的 那么提前 哪个是渲染 PDF 文件的最佳库
  • 模拟器:进程已完成,退出代码为 134(被信号 6:SIGABRT 中断)

    我最近刚刚开始在 Mac 上下载 Android Studio 版本 3 0 1 但收到以下错误 模拟器 进程已完成 退出代码为 134 被信号 6 SIGABRT 中断 我按照 Android Studio 教程操作并能够运行模拟器 但在
  • Python:计算数据帧列中所有行中特定字符的实例数

    我有一个包含列 toaddress ccaddress body 的数据框 df 我想迭代数据帧的索引 以获取 toaddress 和 ccaddress 字段中电子邮件地址的最小 最大和平均数量 这是通过计算这两列中每个字段中的 和 的实
  • Android开发:未定义方法

    大家好 我是 Android 和 Eclipse 的新手 我刚刚遵循了developer android com 上的教程 现在我在添加操作栏 http developer android com training basics actio
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • 为什么我用 beautifulSoup 刮的时候有桌子,但没有 pandas

    尝试抓取条目页面转换为制表符分隔格式 主要拉出序列和 UniProt 登录号 当我跑步时 url www signalpeptide de index php sess m listspdb bacteria s details id 10
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 按名称查找视图

    是否可以通过名称而不是 id 来查找视图 findViewById R id someView 但我想做这样的事情 findViewByName someView 在处理 xml 时 您必须通过标识符查找视图 但是您可以使用以下方式查找标识
  • Android:如何通过右侧的十字按钮清除EditText

    我创建了一个EditText用于搜索 左侧包含搜索图标 右侧包含图标
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 基于BluetoothChat示例通过蓝牙套接字发送文件

    大家好 根据我之前问的一个问题 我已经能够将文件转换为其他字节数组 以便使用以下写入方法 public void sendFile Log d TAG sending data InputStream inputStream null Ur
  • Android应用程序kill事件捕获

    我想在我的应用程序被终止时执行一些操作 可以使用哪种方法来实现此目的 我正在开发 Android 5 0 这个问题的关键在于 您必须了解您的申请是否可以收到任何 当您的应用程序在任何情况下被终止时的额外回调 下面的答案是由德文连线 http
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • Amazon IAP 不会调用 onPurchaseResponse

    我有一个 Android 应用程序 它使用 IAP 我正在发送PurchasingManager initiateGetUserIdRequest 并得到用户识别成功 in onGetUserIdResponse 得到回复后Purchasi
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide
  • Android:获取最新意图

    如何获取发送到活动的最后一个意图 的文档onNewIntent 建议我需要做这样的事情 class MyActivity public void onNewIntent Intent intent setIntent intent reac

随机推荐