Android抓包证书不生效?MoveCertificate 三步把用户证书移入系统信任
【免费下载链接】MoveCertificate支持Android7-16移动证书,兼容magiskv20.4+/kernelsu/APatch, Support Android7-16, compatible with magiskv20.4+/kernelsu/APatch项目地址: https://gitcode.com/GitHub_Trending/mo/MoveCertificate
MoveCertificate 是一个 Magisk/KernelSU/APatch 模块:重启后它会把用户证书目录里的新证书并入系统信任链,解决 Android 7 及以上"通过系统设置安装的证书只对安装它的那个应用生效"的问题,让 Burp 等抓包工具能直接解密 HTTPS 流量。支持 Android 7–16,并覆盖了 Android 14 之后 conscrypt 证书目录迁移到 APEX 的情况。
运行原理:开机时挂载 tmpfs 与 bind
模块在开机阶段完成挂载,不改写系统分区,卸载即恢复原状。低版本(Android 13 及以下)的流程是:先把系统证书目录和用户证书目录备份到模块内的certificates目录,对/system/etc/security/cacerts挂 tmpfs,再把合并后的证书写入并修正属主、权限与 SELinux 上下文。Android 14+ 上证书改由 APEX 提供,模块会定位com.android.conscrypt@*目录,在 zygote 等多个挂载命名空间里做 bind 挂载。具体逻辑可参考 模块挂载脚本。
环境要求:系统版本与 root 方案
底线三条:Android 7 及以上,上限 16;root 方案为 Magisk v20.4+、KernelSU 或 APatch;设备建议是官方镜像。若是自编译 ROM,证书可以直接内置或 remount 后手动移动,无需借助模块。当前模块版本可在 module.prop 中核对,目前为 v1.6.1。
标准流程:系统设置安装加重启
大多数场景只需要这三步:
- 导出抓包软件的 CA,
adb push cacert.pem /data/local/tmp/ - 在系统设置中用"从设备存储安装证书"选中该文件
- 重启设备
模块重启时会把新证书移入系统信任链,之后任意应用使用这条 CA 的流量都能被解密。此路径不需要格式转换,也不涉及哈希命名问题,是推荐做法。
手动注入:哈希计算与 DER 转换
手动注入面向多台电脑证书、内置固定证书的场景,且会覆盖已有证书,动手前先确认。Android 系统证书目录只认 DER 格式,文件名必须等于证书主题哈希加.0:
# 1. 计算哈希 openssl x509 -inform PEM -subject_hash_old -in cacert.pem # 2. 转 DER openssl x509 -in cacert.pem -outform der -out cacert.der # 3. 重命名为 哈希值.0 mv cacert.der 02e06844.0 # 4. 推入并重启 adb push 02e06844.0 /data/local/tmp/cert/两点容易踩坑:其一,Reqable 等工具直接导出的HASH.0不一定可用,文件即使移过去,编码不对系统也识别不了,稳妥做法是导出 crt/PEM 后按上面命令转换;其二,模块对/data/local/tmp/cert里的文件会校验首字节,非 DER 的会被自动过滤,日志中有对应记录。
Web 管理页:证书列表、详情与删除
模块自带一个 web 页面,列出当前生效的全部证书,可查看每本证书详情,长按即可删除。若怀疑某次移动没成功,优先看两个地方:模块目录下的install.log记录了每次挂载与证书处理结果;web 页面则能直接确认目标哈希文件是否已在系统目录中出现。
证书不生效与挂载异常排查
先排除格式问题:文件名以-----BEGIN开头说明还是 PEM,需转 DER;再确认文件已出现在系统证书目录且属主权限正确(模块会自动修正)。若证书此前已移动过或内置到源码,重新走系统设置安装可能"看似成功"实际未写入,此时应改走手动注入路径。使用 AdGuard 的注意:模块会主动清除其中间证书(哈希47ec1af8)及 "Guard Personal Intermediate" 证书以避免冲突。OTA 升大版本后若出现挂载异常,通常是模块内残留了旧版 conscrypt 目录,新版脚本会自动清理,可对照 更新日志 确认设备所用版本的修复项。
需要提醒的是:该模块在每次开机时改写系统信任链,属于系统级操作,建议只在测试机上长期启用;日常设备用完抓包任务后,及时移除自签名 CA 或卸载模块,避免信任链残留带来的风险。
【免费下载链接】MoveCertificate支持Android7-16移动证书,兼容magiskv20.4+/kernelsu/APatch, Support Android7-16, compatible with magiskv20.4+/kernelsu/APatch项目地址: https://gitcode.com/GitHub_Trending/mo/MoveCertificate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考