某短视频抓包

最近刚好有朋友联系我,说某短视频抓不了包,让我帮忙看看。

  • 首先,我打开了charles,安装完证书配置完之后,打开app,发现app直接显示网络错误。
a.png
  • 看来是用了证书校验。
    通过对代码的分析,发现其用了quic协议。
  • quic协议是什么

QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP、TLS、> HTTP/2等协议的可靠性与安全性,可以有效减少连接与传输延迟,更好地应对当前传输层与应用层的挑战。

如何bypass掉,使其能抓取到数据呢

对于该app禁止quic相关的so加载即可,该so是lib**cronet.so,通过ida也可以看到相关函数名。

image.png
  • 由于直接hook System.loadlibrary会导致app崩溃。查看android源码,选择其内部调用的Runtime.loadLibrary0(ClassLoader loader, String libname)或者nativeLoad(String filename, ClassLoader loader,String librarySearchPath)


    image.png
  • 编写xposed模块,对其一函数进行hook


    image.png

模块生效后,打开app,发现已经能正常抓包了。

再仔细分析一下,发现其无非就是在so对证书进行校验。

第一反应就是有sslpinning,感觉挺简单的,但是几乎找了所有公开的unsslpinning脚本都无济于事, du
mp证书也如此。
对apk解包时发现里面有okhttp3,以为使用了okhttp3库,但hook后发现并不如此。
通过阅读大佬的文章 android逆向学习--绕过非标准http框架和非系统ssl库app的sslpinning

编写frida脚本对其进行sslpinning


image.png

通过spawn启动,测试成功,正常抓取app数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,085评论 2 59
  • Android面试题 Android面试题包括Android基础,还有一些源码级别的、原理这些等。所以想去大公司面...
    陈二狗想吃肉阅读 4,899评论 0 21
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 一, 背景 入行android已近三年,做过的项目不多,但是也算是国内知名app。针对于此,是时候总结一下andr...
    最有文化的码农阅读 1,656评论 4 14
  • (一)图片 1、图片库对比 2、LRUCache原理 LruCache是个泛型类,主要原理是:把最近使用的对象用强...
    陈二狗想吃肉阅读 2,083评论 0 15