Charles 某音最新版本抓包环境搭建
<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>
****
## Charles 某音最新版本抓包环境搭建
### 操作环境
- google nexus5x
- Android 8.1
- Magisk 24.3
- Douyin 17.3
- kaliLinux
- win10
### 准备
刷机root相关的准备工作本篇就不啰嗦了,有兴趣的可参考之前的文章
[google nexus5x 刷机抓包逆向环境配置(一)](https://cenjy.blog.csdn.net/article/details/123635939)
[google nexus5x 刷机抓包逆向环境配置(二)](https://cenjy.blog.csdn.net/article/details/123639600)
[google nexus5x 刷机抓包逆向环境配置(三)](https://cenjy.blog.csdn.net/article/details/123685811)
### 分析
一般需要抓取https的数据包,只需要电脑安装抓包工具例如fiddler、charles 。然后手机上配置代理,保证手机跟电脑在同一网络下,然后手机安装抓包工具的证书,基本都可以抓到https的数据包。(安卓版本控制在7.0向下兼容,高于7.0就无法抓到https的包,因为google在Android N (25)和其之上的一个安全行为变更,系统默认不再信任用户app或者系统自定义添加的证书)
高版本系统根证书安装教程参考:[安装抓包证书(Fiddler、Charles)至系统目录](https://cenjy.blog.csdn.net/article/details/123685811)
当你把这些需要的环境都准备好以后,发现新版某音apk用了SSLPinning,
又当你写完frida脚本,以及xposed的justtrustme安装到手机上的时候再次打开新版某音app,发现连接还是获取不到数据包,后分析发现新版某音app用的是非系统的ssl库
参考一些大佬的文章经验定位到主要的检测点在此文件: libttboringssl.so

****
### 反编并修改libsscronet.so
打开libsscronet.so 然后根据关键字"SSL_CTX_set_custom_verify"查找

定位到效验证书的方法

看返回值是1,经过反复调试,发现只有当他返回值为0的时候才可以过ssl,所以我们把他改成0 然后这种点位一共有3个 ,全部保存为0 然后ctrl+s 保存一下。
然后把修改过的so复制到你的安卓手机上,这种方案,不限制安卓版本,手机必须ROOT,因为我们要替换lib下面的libsscronet.so
将libsscronet.so文件移动至/data/app/com.ss.android.ugc.aweme-EideCKrgcGdRS7-e8R-YYg==/lib/arm/下并修改权限为777

### 抓包
正确安装抓包工具的证书至系统根目录就可以抓到数据包了
- 视频评论数据

****
<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>
****