tiktok安卓端逆向之抓包
Tiktok全球性的短视频app,然而在国内无法使用,想抓包第一步就是打通抓包网络。
我习惯使用fiddler,至于fiddler和手机的配置,大家自行解决
两种抓包方法:
1.fiddler左上角菜单
· 打开 Options(选项)对话框:
· 点击菜单栏的 Tools(工具)。
从下拉菜单中选择 Options(选项)。这将打开 Fiddler 的选项对话框。
配置代理:
· 在 Options 对话框中,点击 Gateway(网关)标签页。
· 选择第三个选项 Manual Proxy Configuartion,按照如图格式把代理填写上即可,
也可以使用fiddler的脚本实现。参考链接: https://blog.csdn.net/liberty888/article/details/131833867

这样手机代理走fiddler,fiddler再走一层代理,网络就通了
2.设置路由器代理
如果你的路由器支持代理的话,直接把路由器代理设置好就行了,从底层解决网络不通 问题,这样坑会更少,这个我没研究,网管给配置好了
当你打通网络后,就会发现,根本抓不到可见的明文包,
因为tiktok开启了强制证书验证,要先过掉证书验证,才有希望看到像样的字符串。
先不盲目分析,网上开始找资料可以少走很多坑,看了一波帖子,发现titkok现在不使⽤系统的ssl库了,所以Xposed + just trust me 的老⽅案对于tiktok是⽆效的。
照着前人教程确定网络通讯在libsscronet.so,ida pro分析这个so,再import选项窗口ctrl+F搜索SSL_CTX_set_custom_verify,如图双击这个函数,

再双击函数的引用,再对着函数ctrl+X,有两个地方使用了他。

SSL_CTX_set_custom_verify这个函数实际上是传递了三个参数,而根据网上的说明第三个参数是一个函数指针,修改这个函数的所有返回值,使其最终返回0,两处使用SSL_CTX_set_custom_verify地方都改,替换到手机apk对应so,再打开app就绕过证书验证了,参考资料:https://www.cnblogs.com/theseventhson/p/16059276.html,博客园的第七子007,非常感谢他的指引
其他参考:
https://juejin.cn/post/7122723176387346469
https://blog.csdn.net/rni88/article/details/137352822
上面都是改so,当然也有对应的frida hook方法,就是重写SSL_CTX_set_custom_verify还是重写传递给他的函数,可以借鉴这篇文章:https://blog.csdn.net/csdnMomBOOM/article/details/136439561,我舍弃hook的原因是frida有时候真的hook不上,不如直接改so稳妥。
上面讲了别人的方法,我也改成功了,但是改的地方比较多,有点费劲。自己摸索了自己的改法,如图:

SSL_CTX_set_custom_verify的第二个参数,MOV W1, #1,直接改成MOV W1, #0,就是原来的二进制指令21 00 80 52 改成01 00 80 52,同样两处使用SSL_CTX_set_custom_verif的地方都该即可,最后再放到手机上替换原本的so,一样能抓到包。
到此就可以愉快的抓包了,不必每次都去hook,当然同系的其他app也通用。
这里汇编转二进制网址给大家:https://armconverter.com/
浙公网安备 33010602011771号