抖音最新版抓包方案,修改so绕过ssl

news2024/12/29 10:48:25

dy过ssl charles抓包

及xposed的justtrustme安装到手机上只能过系统的ssl。
抖音写了一个非系统的ssl所以需要反编译so来处理。

第一步,charles

我用的是magisk手机,先重charles把证书下载到pc端
在这里插入图片描述

选项1,安装证书到本地
选项2,查看ip
选项3,导出证书

在通过adb push 传入到sdcard
通过手机安装证书[wifi 的高级选项中,安装证书]
把用户证书通过[mt管理器]移动到系统证书目录[或者通过shell指令cp移动,但是需要挂在system目录]

* 用户证书目录
/data/misc/user/0/cacerts-added/
 
* 系统证书目录
/system/etc/security/cacerts/

在把手机的ip代理到charles的ip。

第二步,dy23.3.0版本的so处理

安装dy23.3.0版本的x音
通过adb拉取ssl的so。[so路劲]:/data/data/com.ss.android.ugc.aweme/lib/libsscronet.so
用shell file libsscronet.so 可以查看so是32位的。

libsscronet.so: ELF shared object, 32-bit LSB arm, for Android 16, 
built by NDK r21b (6352462), BuildID=fa904331dfa77de8b969d0d90561bc3e40c2c9e5, stripped

所以我们用ida32位的打开这个so。
等待几分钟等待so加载完毕,然后在左侧根据关键字"SSL_CTX_set_custom_verify"找到
在这里插入图片描述

通过搜索“SSL_CTX_set_custom_verify”选择第一项,再通过[text view]显示
双击进入sub_1C99CC到汇编位置 通过f5查看伪代码
在这里插入图片描述

双击进入sub_1C9404 的伪代码,把里面3个return值改为0[我这里是改过之后的]
第一个
在这里插入图片描述

再搜索sub_1C9404 IDA VIEW 查看汇编位置
在这里插入图片描述

loc_1C94B4位置双击进入
在这里插入图片描述

提示:

你可以通过f5进入查看伪代码就是return的位置
可以把地址单独拎出来,这样就可以实时查看到对应的地址

通过winhex修改保存即可
在这里插入图片描述

第二个第三个在底部的返回函数里面sub_1C9640双击进入伪代码[这个修改就补贴了,自行按照1第一个流程去做就行了]
第二个
在这里插入图片描述

第三个
在这里插入图片描述

第三部,替换so

看这个文件夹下应该是没有文件的(A) /data/data/com.ss.android.ugc.aweme/app_librarian/23.3.0.6525026484/libsscronet.so
删除 /data/data/com.ss.android.ugc.aweme/lib/libsscronet.so
再打开抖音,(A)应该有文件libsscronet.so包显示了,替换修改的so
我是通过mt文件管理器替换的
再重启。即可抓包
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android桌面图标快捷方式

一、背景 长按桌面图标实现快捷方式最早是iOS提供的功能,而Android最早在Android 7.1版本也提供了对这方面的支持,于是在短时间内,像微信,支付宝,头条等流量级应用都提供了这方面的支持,如下图。 现在,长按桌面图标快捷方式已经是很成熟的功能,实现上也比较简单,主…

知识图谱-KGE-语义匹配-双线性模型(打分函数用到了双线性函数)-2011:RESCAL【双线性模型的开山之作】【把每个关系对应的邻接矩阵进行了矩阵的分解】

【paper】 A Three-Way Model for Collective Learning on Multi-Relational Data 【简介】 这篇文章应该算是双线性模型的开山之作。是德国的一个团队发表在 ICML 2011 上的工作,比较老了,主要思想是三维张量分解。 想研究啥,啥就很重要 Re…

Activity7-流程初体验

流程符号详解: 创建Activiti工作流的主要步骤包含以下几步: 1. 定义流程。按照BPMN的规范,使用流程定义工具,将整个流程描述出来。 2. 部署流程。把画好的BPMN流程定义文件加载到数据库中,生成相关的表数据。 3. 启动流程。使用…

基于粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

目标检测3

还是目标检测相关~这次是Box Size置信度偏差会损害目标检测器 检测器的置信度预测在目标大小和位置方面存在偏差,但目前尚不清楚这种偏差与受影响的目标检测器的性能有何关系。 无数应用依赖于目标检测器的可靠置信度估计的准确预测。然而,众所周知&am…

[附源码]Python计算机毕业设计Django在线招聘网站

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

突破40%!新能源汽车L2级辅助驾驶搭载率创新高

新能源汽车正在成为智能化的主力军。 高工智能汽车研究院监测数据显示,2022年1-10月中国市场(不含进出口)新能源汽车前装标配搭载L2级辅助驾驶交付上险167.51万辆,前装搭载率首次突破40%,达到41.93%;同期&…

[Java反序列化]CommonsBeanutils1利用链学习

0x01 前篇shiro的利用,需要动态字节码 ,而这种方式需要我们自己添加依赖,所以很局限,而CommonsBeanutils 是shiro的依赖, CommonsBeanutils 是应用于 javabean 的工具 javabean的定义 类必须是具体的和公共的&#…

传统服务器与云服务器

传统服务器 传统服务器即物理服务器,是指独立服务器,也就是指物理上的单独服务器,物理服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。 裸机物理服务器(BMS) 裸机服务器的官方定义是:裸机…

【嵌入式硬件芯片开发笔记】4-2 mADAC芯片AD5421配置流程

【嵌入式硬件芯片开发笔记】4-2 mADAC芯片AD5421配置流程 16位、串行输入、环路供电、4 mA至20 mA DAC 可用于HART协议相关电路 同AD5700配合使用 AD5421的SPI和普通的不一样 回读时要发两段 CS中间拉高一次 数据在SCLK上升沿逐个输出,而且在 SCLK下降沿有效 固CPO…

微服务框架 SpringCloud微服务架构 26 数据聚合 26.2 DSL 实现Bucket聚合

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构26 数据聚合26.2 DSL 实现Bucket聚合26.2.1 DSL 实现Bucket聚合26.2.2 Buc…

【设计模式】享元模式(Flyweight Pattern)

享元模式属于结构型模式,主要解决系统需要使用大量相似对象(细粒度对象)而消耗大量内存资源的问题。享元模式运用共享技术有效地支持大量细粒度的对象,其通过提取对象共同的信息抽象出享元对象,实现共享功能&#xff0…

mysql详解之B树的查询时间复杂度

前言 本文是我在看了这篇文章之后(这篇文章对b树的时间复杂度总结的很全面),关于B树(或B树)时间复杂度做的进一步思考(如果对解题过程不感兴趣,可以直接看最后的总结)。 正题 在这…

Java继承(extends)简明教程

继承是面向对象的三大特征之一。继承和现实生活中的“继承”的相似之处是保留一些父辈的特性,从而减少代码冗余,提高程序运行效率。 Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类&…

物联网和大数据可应用在哪些领域?

物联网和大数据可应用在哪些领域?物联网和大数据是近年来最受媒体和企业关注的两大宏观技术趋势。两者也并驾齐驱,物联网旨在特定组织或环境中创建一个互联网络,使用该网络来收集数据并集中执行特定功能。物联网部署会生成大量以前未开发的数…

【MR】C++ bullet客户端基于MR的动力学仿真

程序基于(A minimal example showing how to use PyBullet from C over shared memory.一个展示如何在共享内存上从c使用PyBullet的最小示例。https://github.com/erwincoumans/pybullet_cpp_sharedmemory_example)实现与pybullet服务器通信交互。加上MR…

MySql按条件插入数据,MySQL插入语句写where条件,MySQL在插入时做幂等

文章目录写在前面根据条件插入数据1、先准备测试数据2、正常的插入语句3、有条件的插入语句(重点)4、查看最终结果总结分析写在前面 使用MySQL的删、改、查功能时,我们都可以根据where条件来对指定数据进行操作。 插入语句如何通过where条件…

Git —— 关于创建多对非对称公钥时对不同服务器的匹配问题

Git —— 关于创建多对非对称密钥时对不同服务器的匹配问题 《工欲善其事,必先利其器》—— 既然点进来了,麻烦你看下去,希望你有不一样的收获~ 《 前言 》 大概是半年前,我写过一篇关于 git 连接托管平台提示 permission denied…

经典算法冒泡排序之标志位优化版

前言 今天总结一下优化版的经典算法——冒泡排序,不同于以往的暴力二重for循环,这里的冒泡排序增加了一个标志位。我们要理解该冒泡排序的概念,算法流程与算法思想,探讨时间复杂度。 冒泡排序算法解析 一、理解冒泡排序思想 1…

Selenium4+Python3系列(十一) - Page Factory设计模式

写在前面: Page Object模式,目的是将元素定位和元素操作分层,只接触测试内容,不写基础内容,便于后续对自动化测试用例体系的维护,这是中心思想,也是核心。 那么我们继续将简洁延续&#xff0c…