android7 以上系统 https 抓不到包,大家是如何解决的?

9 天前
 hxhsammy
本人做小程序这块的业务比较多,经常要排查问题,目前用 https 抓包的工具会比较多,iphone 相关的设备还比较好处理,安装证书后基本都能抓包,android7 以后的设备,无法信任用户证书,而且大部分的设备已经关闭了 root 的通道,无法再通过中间人攻击的这种方式进行抓包了,想问下大家都是怎么解决的?
3574 次点击
所在节点    程序员
38 条回复
duzhuo
9 天前
用 Reqable ,直接 Magisk 里面安装证书模块
docx
9 天前
ROOT ,别无他法
kiraskyler
9 天前
1 、电脑开热点,电脑上抓
2 、linux 内核 uprobe ,用户态 hook https 的函数抓
scipelaina
9 天前
pulutom40
9 天前
@kiraskyler 手机没装根证书,电脑抓到的包怎么解密?
q197
9 天前
@scipelaina 这个也要 root ,看介绍优点可能是假如 app 检测证书签发者等场景因为这个抓包不需要 mitm 所以无法被检测?
pangzipp
9 天前
1. 雷电模拟器
2. 买个二手的 pixel + root
swananan
9 天前
ebpf 方案,或者说 uprobe 方案的话,得 root 才行。

我其实本来想推荐,用我这个工具( https://github.com/swananan/ghostscope ),虽然不能抓出 WireShark 能解析的 pcap 包,但是直接看代码里面细节,其实更快。不过,也是需要 root 。
rev1si0n
9 天前
ellermister
9 天前
这点 安卓要比 IOS 安全太多,防止你抓包篡改泄露等。看谁再说 ios 安全 😀
caijunduo
9 天前
ONPatch + JustTrustMe/TrustMeAlready + Drony
UnluckyNinja
8 天前
不 root ,模拟器不能跑,那你就得逆向包,然后可能会要对抗真机检测、完整性检测,这是个大坑,不如挑个能 root 的机器直接抓包,最多隐藏下 root 相关模块等
inhzus
8 天前
不懂就问,Android 不能安装用户证书的话,怎么 MITM 呢
irrigate2554
8 天前
root 或者 模拟器 或者 安卓虚拟空间软件(类似 VMOS 这种)试试
w568w
8 天前
@inhzus > Android 不能安装用户证书

Android 可以安装用户证书(用户 CA ),但系统不会默认信任:

- Android 6.0 及以下:系统信任用户导入的用户 CA ;
- Android 7.0 及以上:系统只信任出厂内置的系统 CA 。

参考: https://developer.android.com/privacy-and-security/security-config?hl=zh-cn#base-config

> 怎么 MITM 呢

如果是自己的应用,直接参考上面的链接配置信任用户 CA 即可;

如果是抓别人的包,有 ROOT 可以把自己的证书导入为系统 CA ;没 ROOT 就只有一些旁门左道了,比如虚拟机或者 Apk hook ,但可用性都不高。
greatbody
8 天前
还有一个独特的思路:将需要逆向的 apk 解包后,提取里面所有的 URL ,找到疑似是 API 的,然后都替换成自己的域名,自己的域名运行一个自己写的 Python 服务转发请求,同时记录请求信息。
h4de5
8 天前
买个 google 手机去下载一个第三方的 userdebug 的镜像。然后用 https://github.com/httptoolkit/httptoolkit-server/blob/main/src/interceptors/android/adb-commands.ts#L417 这个脚本可以把证书导进去就可以了
chapiom
8 天前
@scipelaina 这个因该是要模拟器吧,实体机这么高版本系统版本没见到,还要 root

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1166024

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX