抖音新版抓包方案,绕过sslpinning 直接修改so 抓https数据包

  世纪资讯     |      2024-04-15 11:59

前言


一般需要抓取https的数据包,只需要电脑安装抓包工具例如fiddler、charles 。然后手机上配置代理,保证手机跟电脑在同一网络下,然后手机安装抓包工具的证书,基本都可以抓到https的数据包。(安卓版本控制在6.0想下兼容,高于6.0就无法抓到https的包,因为google在Android N (24)和其之上的一个安全行为变更,系统默认不再信任用户app或者系统自定义添加的证书)。


当你把这些需要的环境都准备好以后,发现新版某音apk用了SSLPinning,

又当你写完frida脚本,以及xposed的justtrustme安装到手机上的时候再次打开新版某音app,发现新版某音app用的竟然是非系统的的ssl库,以上就是我的经历,为了大家不必走我的弯路,今天带大家解决一下如何去除这种sslpinng方案。


自13.5版本以后的版本就抓不到https的包了。


正文开始:

最新版的某音用上了sslpinng技术,而且还是so层,导致很多想要一窥究竟的小伙伴抓不到包,让人十分头大.。


这里给大家带来一个不需要frida hook 抓最新版包的方案!。


本文中以20.5.0 32位某音apk为例。


因为每次都frida hook libsscronet.so 觉得十分繁琐,又想快速抓包.所以我用了Patch的方案。


开工

打开ida,加载某音的libsscronet.so,等待几分钟等待so加载完毕,然后在左侧根据关键字"SSL_CTX_set_custom_verify"找到找到如下图方法。





如下图就是搜索到的函数名字,有2处,我们选择第一个函数进去。


一顿S操作以后,找到 sub_110FDC函数就是校验证书的方法。


如下图黄色标记的就是该函数的位置,有3个参数。





第三个参数就是校验的地方 并且是个回调函数,那我们就进去看看那 。


如下图可以看到最后return 了1。





可以看返回值是1,经过反复调试,发现只有当他返回值为0的时候才可以过ssl,所以我们把他改成0 然后这种点位一共有3个 ,全部保存为0 然后ctrl+s 保存一下。


然后把修改过的so复制到你的安卓手机上,这种方案,不限制安卓版本,手机必须ROOT,因为我们要替换lib下面的libsscronet.so。


最好手机上安装RE文件管理器,打开RE,进入到/data/app/com.ss.android.ugc.aweme-xx==/lib/arm目录下,找到libsscronet.so,删除原来app内的so。然后把我们修改过的so替换进去就可以愉快的抓包啦!


如下图是包的目录。

———————————————