# 问题
连上抓包工具之后无法连接网络,网站提示证书安全问题、App 无法正常使用等。通常是 SSL 返回时证书的问题:
Android 系统将 CA 证书又分为两种, 用户CA证书
和 系统CA证书
。
顾明思议,用户 CA 证书是由用户自行安装的,系统 CA 证书是由系统内置的,很明显后者更加真实有效。
而我们要做的无非就是将证书导入至系统 CA 证书当中,或是绕过系统 CA 证书的检测
系统 CA 证书存储路径:
/system/etc/security/cacerts/
# 解决
所需工具
- OpneSSL
- AndroidDebugBridge
- Xposed
- JustTrustMe 模块
# 导入 Import
# 下载工具
- OpenSSL 下载地址: https://slproweb.com/products/Win32OpenSSL.html
本文使用版本
Win64 OpenSSL v3.3.1
下载最新版亦可
- AndroidDebugBridge 下载地址: https://adbdownload.com/
本文使用版本
R35.0.0
下载最新版亦可
如有需要可自行配置系统环境变量 Path
# 转换证书
使用 openssl
将证书转为 xx.0
证书文件
- 获取证书文件的哈希值
# cer 证书文件 | |
openssl x509 -inform DER -subject_hash_old -in xxxx.cer | |
# pem 证书文件 | |
openssl x509 -inform PEM -subject_hash_old -in xxxx.pem |
- 生成
.0
证书文件
# cer 证书文件 | |
openssl x509 -inform DER -text -in xxxx.cer > 哈希值.0 | |
# pem 证书文件 | |
openssl x509 -inform PEM -text -in xxxx.pem > 哈希值.0 |
# 导入证书
两种方法,任意即可
复制文件
Root 设备后,使用 MT 管理器 或 其他文件管理器 将下载的证书xx.0
复制至系统/system/etc/security/cacerts/
目录ADB 导入
adb root | |
adb shell avbctl disable-verification | |
adb remount | |
# adb push 本地文件路径 Android 文件路径 | |
adb push xx.0 /system/etc/security/cacerts/xx.0 |
注意!一般 Root 之后便会开启 system
读写,但也有例外:
如果是模拟器很可能是没有开启 system
写入,按下图开启即可 被坑过 QwQ
# 绕过 Bypass
# 下载工具
Magisk (任意即可):
- 原版 (Magisk):https://github.com/topjohnwu/Magisk/releases
- 狐狸 (Kitsune Magisk):https://huskydg.github.io/magisk-files/
Kitsune Magisk
下载教程
JustTrustMe 模块下载地址: https://github.com/Fuzion24/JustTrustMe/releases/
Xposed (任意即可):
- VirtualXposed 下载地址: https://virtualxposed.com/download/
- LSPatch 下载地址: https://github.com/LSPosed/LSPatch/releases
- LSPosed 下载地址:https://github.com/LSPosed/LSPosed/releases/tag/v1.9.2
本文以
LSPosed + KitsuneMagisk
介绍
# 原理
利用 Xposed + JustTrustMe 模块,绕过 SSL 证书检测
# LSPosed 安装
在
Magisk
设置中将Zygisk
设项打开,将设备重启即可进入模块,选择从本地安装,选择
LSPosed-v1.8.4-6609-zygisk-release.zip
文件进行安装
LSPosed-v1.8.4-6609-zygisk-release.zip
请从官网下载,记住是 zygisk
- 安装
LSPosed.apk
,打开 LSPosed 可以看到处于激活的状态
LSPosed.apk
这个我也没从 Github 上找到,不过在另一个网页上找到 下载地址
# 使用 JustTrustMe 模块
完成 LSPosed 配置后,安装 TrustMeAlready.apk
。在 LSPosed 模块上点击 JustTrustMe
,选择需要抓包的 App (小黑盒),重新设备启动即可。
此时便可愉快地抓包啦