抖音新版本抓包(绕过sslpinning证书校验)

目录

前言:

 方案:

        frida

        替换so

        Xposed


前言:

        当我们想要分析较新版本的接口时,会发现一个有趣的现象,无论是用Charles还是Fiddler,都会出现抓不到包的情况(如下图),这是因为使用SSL Pinning证书锁定技术,是一种防止中间人攻击(MITM)的技术。

        主要机制是当客户端发起请求 –> 收到服务器发来的证书进行校验,如果收到的证书不被客户端信任,就直接断开连接不继续请求。所以当我们抓包学习分析时,就只能看到Fildder/Charles上一排 CONNECT Failed 请求,找不到我们想要分析的接口。

 方案:

        当我们找到关键的校验位置,Hook掉对应的返回值就能愉快的抓包了。那这个关键位置是在libsscronet.so文件中,通过在IDA中找到“SSL_CTX_set_custom_verify”函数,Hook看返回值是1,经过反复调试发现只有当它返回值为0时,就可以绕过sslpinning证书校验。

         知道了关键的位置,那就可以通过frida或者修改so的方式处理,还有一种通过编写好xposed去检测插件+JustTrustMe,可以完整的抓到所有请求包。

        frida

         这里分享一份16版本的SSL Pinning的解决方案,之前用的挺好,现在我自己测试发现不是特别好用了

         缺点:

                需要重启app启动注入js,运行麻烦;

                hook时容易导致app异常崩溃;

                服务端不给接口返回内容或403;

        脚本下载:FridaHookSSL16.9.js

        上面的js代码中并未hook libsscronet.so修改返回值绕过验证,是通过hook Java层方法实现的。

        想要hook libsscronet.so的时候可以dlopen处理,监控so什么时候加载的,加载后可以附加后续hook代码

function main(){
    // 高版本 安卓系统
    var android_dlopen_ext = Module.findExportByName(null, "android_dlopen_ext");
    console.log(android_dlopen_ext);
    if(android_dlopen_ext != null){
        Interceptor.attach(android_dlopen_ext,{
            onEnter: function(args){
                var soName = args[0].readCString();
                console.log(soName);
                if(soName.indexOf("libsscronet.so") != -1){

                    this.hook = true;
                }
            },
            onLeave: function(retval){
                if (this.hook){
                    dlopentodo();
                }
            }
        });
    }
}

        然后frida通过附加的方式启动 

frida -U -f com.ss.android.ugc.aweme -l dy_hook.js

        运行之后,就可以看到Charles有正常的请求出现了 

        替换so

        我这里有一份21.8版本 libsscronet.so,通过adb shell连接上终端后,进入/data/app/com.ss.android.ugc.aweme目录下,找到原有的libsscronet.so文件,删除掉push修改后的so进去,然后执行以下命令,赋予对应的文件权限,重新启动APP就能看到请求包了。

adb connect "DeviceId"
adb -s "DeviceId" push ./libsscronet.so /data/app/com.ss.android.ugc.aweme-1/lib/arm
adb -s "DeviceId" shell
cd /data/app/com.ss.android.ugc.aweme-1/lib/arm/
chgrp system libsscronet.so
chown system libsscronet.so
chmod 777 libsscronet.so

        Xposed

        去检测xposed插件+JustTrustMe这种方式最好用,省去替换so或frida启动hook的流程,适用于较新多个版本,正常运行就能看到请求包。

        需要插件或学习交流可以联系我,仅供学习参考!!

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: 抖音和快手是两个非常热门的短视频应用,随着网络技术的发展,人们对这些应用的使用体验要求也越来越高。而抓包XP模块是近期抖音快手最新版引入的一个新功能,旨在提供更稳定、快速的用户体验。 抓包XP模块的主要功能是通过技术手段对应用程序中的数据包进行截取和分析。通过抓包,用户可以查看应用程序在与服务器进行通信时发送和接收的数据包,进而了解应用程序的工作原理和运行情况。 抓包功能在抖音快手最新版本中加入XP模块,主要有以下几个优点: 1.稳定性提升:通过抓包XP模块,可以更有效地发现和解决应用程序中的各种bug和问题,提升应用的稳定性和可靠性。 2.速度优化:抓包XP模块可以对应用程序的通信过程进行优化,提高数据传输速度,使用户获取视频和上传视频的速度更快。 3.用户体验增强:抓包XP模块还可以根据用户的实际使用情况进行智能优化,提供个性化的服务和推荐,让用户更加满意和便利。 需要注意的是,抓包功能是一项高级技术,对于普通用户来说可能比较复杂和难以理解。因此,在正常使用抖音快手的过程中,用户不需要对抓包这一功能过多关注,只需要享受它带来的稳定、高效和便捷的短视频体验即可。 总之,抖音快手最新版引入的抓包XP模块,通过技术手段提供更稳定、快速的用户体验,优化数据传输速度,提供个性化的服务和推荐,提高应用的稳定性和可靠性,从而带给用户更好的短视频体验。 ### 回答2: 抖音快手是目前最受欢迎的短视频分享平台,随着科技的发展和用户需求的增加,抖音快手不断推出新版,以提供更好的使用体验。其中,抓包XP模块是其最新版的一个重要功能。 抓包XP模块是指通过抓包技术,实现抖音快手APP内部数据的拦截和解析。它能够捕获抖音快手在用户手机与服务器之间传输的数据流,并进行分析和修改。使用抓包XP模块可以帮助用户实现一些高级操作,包括但不限于以下几个方面。 首先,抓包XP模块可以帮助用户了解抖音快手APP的数据传输过程。通过观察数据包的内容和传输路径,用户可以深入了解抖音快手APP的工作原理和数据交互模式。 其次,抓包XP模块可以助用户拦截和修改APP的数据流。用户可以利用这个功能进行一些个性化定制,例如修改视频分享的链接、屏蔽不想看的内容、强制开启高清视频等。 此外,抓包XP模块还可以用于数据分析和挖掘。用户可以通过抓包功能获取抖音快手APP内部的数据源,进而进行统计分析和挖掘,例如计算用户的活跃时段、关注领域,或者分析热门视频的传播路径等。 总的来说,抓包XP模块是抖音快手最新版的一个重要功能,它帮助用户了解、定制和分析抖音快手APP的数据流。但需要注意的是,使用抓包功能可能涉及到隐私和法律问题,用户需在合法范围内使用,并遵守相关法律法规。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一拳法师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值