常见问题
刷入后抓包仍证书错误 / 断网?
先确认模块侧正常:
- 已重启,WebUI / 简介为大状态「✅运行正常」(不是「⚠️异常」「🔎检测中」)
- 日志里 PID 1、Zygote 注入无报错
- 强制停止并重新打开被抓包的 App,以及 Reqable / ProxyPin(已在运行的进程不会自动吃到后续挂载)
- 若简介为「证书集未就绪」「注入失败」,或日志写「实时证书集合生成失败」「开机证书注入失败」,查看实时源数量与注入结果
若以上都正常仍 TLS 失败 / 断网,优先怀疑证书本身不一致(见下一节)。若只有「单应用白名单」断网、「抓全部」正常,见 白名单单应用断网。
为什么状态正常,抓包还是断网?
很常见:你本机抓包软件正在使用的根证书,和模块里启用的那张不是同一张。
证书为什么会不一样?
Reqable 与 ProxyPin 不一样
- Reqable:安装或「重新生成证书」后常会换新根证。模块只从已安装 App 读取(不内置);未生成或路径变化时需自定义导入。开机还会尝试再刷新。
- ProxyPin:优先 App;未检测到且安装时启用了 ProxyPin 则用内置兜底。自行换过 ProxyPin 证书时,仍以 App 内当前证为准。
名字一样没用——指纹对不上就不算同一张证。
「用户证书」和「系统证书」不是同一层
- 用户证书(凭据 /
cacerts-added):很多 App 不会按系统 CA 同等信任 - 系统证书(system / Conscrypt APEX):本模块注入目标
只在「用户」里装好了 ≠ 系统信任库已是你当前那张 CA。临时把用户区证提到系统层,请用可选热挂载。
- 用户证书(凭据 /
编码和后缀
PEM(BEGIN CERTIFICATE)与 DER(二进制)按内容识别;.crt可能是任一种。系统库文件名是 8 位subject_hash_old,CA 一变 hash 就变。大小相同也可能内容完全不同
请以 App 内指纹 / 序列号 / 主题对照模块里启用的证书(WebUI 可点开详情)。
安装时若检测到 HttpCanary、ADGuard,可按提示导入为自定义。
怎么处理?
- 推荐 · App 导入 / WebUI 自定义(永久) — 保存后重启
- 临时 · 热挂载(已安装该组件时)— 用户区或
/sdcard/CertBridge;重启后失效 - 进阶 · 放入
certs/custom/,下次开机合并
确认 App 内指纹与导入结果一致后再抓包。
其它情况:
- 目标 App 仍是旧进程 → 强停再开或再重启
- 个别机型路径可见但读库异常 → 再重启,看日志
- 抓包软件单应用白名单 → 见下一节
白名单为空能抓、只抓单个 App 却断网?
多数情况下与证书桥无关,是抓包软件(Reqable / ProxyPin 等)的拦截范围问题。
现象
- 白名单为空 / 抓全部:能上网也能抓
- 只勾某一个 App:该 App 立刻「没网」
若「抓全部」已能解密 TLS,说明系统 CA 基本生效;单应用断网优先查 VPN / DNS,而不是重装证书。
原因简述
单应用 VPN 只把该 UID 丢进隧道:DNS、IPv6、多进程未进白名单时更容易直接断网;全局抓包时路径更完整。
怎么处理?
- 先用「抓全部」确认证书
- 关掉系统 Private DNS 再试单应用
- 抓包软件里禁用 IPv6(若有)
- 白名单勾全相关包名 / 分身 / 多进程
- 看抓包列表区分 DNS 失败还是 TLS 握手失败
设置里看不到系统证书?
部分系统对「可信凭据 → 系统」展示有延迟。先看 WebUI 状态,或重启后再查。
与其它系统 CA 模块一起用可以吗?
不建议。证书桥会把开机时已可见的其它模块证书一并复制进本次证书集,但后执行的模块仍可能覆盖先前挂载,请尽量只保留一个。
为什么 system/ 里只放几张证有时正常、有时会变成「系统只剩这几张」?
关键在 Magic Mount 如何处理模块里的目录:
- 正确的轻量叠层:
system/etc/security/cacerts/里只有要追加的hash.0。管理器把这些文件叠进真实系统目录 → 原有大量系统 CA 还在,只是多了几张。证书桥的「轻量 Magic」模式就是这样写目录的。 - 错误 / 不兼容的挂载实现:把模块里的
cacerts整目录替换到系统路径。目录里只有几张证时,系统信任库就只剩这几张,TLS 会大面积失败。
因此默认「完整兼容」模式不依赖 Magic Mount、也不长期放整库到 system/。若启用轻量模式后证书总数骤降,请改回完整兼容并重启;KernelSU 用户请确认挂载/元模块提供的是文件叠层而非整目录替换。
轻量 Magic 模式一定要装元模块吗?
- Magisk:一般不需要,自带 Magic Mount。
- KernelSU:取决于管理器是否对
system/做正确文件叠层;很多人依赖挂载相关元模块。若启用轻量后系统 CA 数量骤降,立刻改回完整兼容并重启。 - APatch:视版本而定,异常时用完整兼容。
两种模式的对照表见 配置说明 · 挂载模式。
WebUI 打不开 / 无法执行命令?
确认安装时选择了 WebUI,且存在 webroot/index.html。请用 KernelSU 管理器、MMRL / WebUI-X 等支持模块 WebUI 的客户端;普通浏览器没有执行桥接。
为什么没有“临时免重启挂载”?
自定义安装时若跳过热挂载,不会保留 bin/hot_mount.sh,WebUI 与 Action 菜单也会隐藏或提示未安装。请重新刷入并勾选,或选默认安装。
已安装时:Action 音量上刷新,音量下进入挂载/卸载菜单。
自定义证书无法上传?
模块用自带 X509 工具(完整版 OpenSSL / Lite cbx509)校验,并拒绝无效、过期、非 CA:TRUE 或超过 64 KiB 的证书。文件名无需手动改为 hash。若提示工具不可用,见下一问。
完整版和 Lite 有什么区别?
见 安装与升级 · 下载哪个包。Lite 依赖 app_process;完整版自带 OpenSSL,Recovery 刷入更稳。
为什么提示缺少 nsenter 或 OpenSSL / X509?
热挂载需要 nsenter、stat、readlink,以及能算 subject_hash_old 的 X509 工具。部分 Android 7–8 或精简 / 纯 Recovery 环境可能缺少这些能力,模块会拒绝热挂载而不是降低校验强度;开机永久注入通常仍可用。Lite 在无法运行 app_process 时也会无法解析证书。
为什么修改开关后没有立即生效?
永久开关与 WebUI 自定义证书需重启。免重启请用热挂载(用户区 / 存储卡)。
临时证书能完全无痕卸载吗?
可以。按会话标记只对本次临时层 umount 并删除临时目录;系统文件、用户证书和永久配置不变。其它模块叠在上方时会拒绝误拆。
为什么部分 App 没有立即信任证书?
开机 service 只补齐 PID 1、Zygote、Settings、Reqable、ProxyPin 等关键命名空间,不会扫全机应用(避免卡住)。新启动的 App 一般继承 Zygote 挂载;已在运行的目标 App 请强停再开。热挂载才会尝试覆盖更多当前可访问的活动命名空间;WebUI 可能显示部分未覆盖,可强停后重挂或重启。
为什么不再保存系统 CA 基线?
系统 / APEX / 其它模块都会让旧基线过期。当前每次重启直接读实时信任库生成完整证书集;源或生成结果不安全时不挂载,无需长期保存副本。