You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Chrome证书透明度导致的流量拦截失败问题

绕过Google证书透明度限制,实现Chrome及移动应用TLS/WebSocket流量拦截的稳定方案

核心思路

通过Magisk自定义模块修改系统证书信任配置,禁用证书透明度(CT)检查,替代临时重装Magisk的方案,实现长期稳定的流量拦截。

分步操作指南

1. 构建Magisk模块文件(路径不存在则手动创建)

先在本地电脑创建一个名为CT-Bypass的文件夹,里面放以下3个文件:

  • module.prop(模块标识文件):
    id=ct-bypass
    name=CT Bypass for Traffic Interception
    version=1.0
    versionCode=1
    author=YourID
    description=Disable certificate transparency checks to allow proxy interception
    
  • service.sh(开机执行脚本):
    #!/system/bin/sh
    # 给Chrome设置持久化调试模式,禁用CT检查
    am set-debug-app -w --persist com.android.chrome
    # 覆盖系统网络安全配置,全局禁用CT强制检查
    settings put global network_security_config_file /data/local/tmp/network_security_config.xml
    
  • network_security_config.xml(自定义安全配置):
    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config cleartextTrafficPermitted="true">
            <trust-anchors>
                <certificates src="system" />
                <certificates src="user" /> <!-- 信任用户安装的证书(比如Burp) -->
            </trust-anchors>
            <certificate-transparency>
                <policy overridesPinning="true">
                    <trust-anchors>
                        <certificates src="system" />
                        <certificates src="user" />
                    </trust-anchors>
                    <disable /> <!-- 完全禁用CT检查 -->
                </policy>
            </certificate-transparency>
        </base-config>
    </network-security-config>
    

2. 推送文件到Android设备

确保设备已Root并开启ADB调试,连接电脑后执行以下命令:

  • 推送整个模块文件夹到Magisk模块目录(不存在则手动创建/data/adb/modules/):
    adb push CT-Bypass /data/adb/modules/
    
  • 推送安全配置文件到临时目录:
    adb push network_security_config.xml /data/local/tmp/
    

3. 设置权限并生效

  • 给脚本和配置文件添加正确权限:
    adb shell chmod 755 /data/adb/modules/CT-Bypass/service.sh
    adb shell chmod 644 /data/local/tmp/network_security_config.xml
    
  • 重启设备让模块生效,或者手动加载模块:
    adb shell su -c "magisk --load-module /data/adb/modules/CT-Bypass"
    

4. Chrome专项配置(可选)

如果全局配置对Chrome无效,可直接给Chrome加启动参数禁用CT:

adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main --args --ignore-certificate-errors --disable-certificate-transparency

把这条命令加到service.sh里,就能实现开机自动生效。

5. 验证拦截效果

  • 将Burp证书安装到系统目录(比用户证书更稳定):
    1. 把Burp导出的DER格式证书转成PEM,重命名为99-burp.pem(前缀数字确保优先级):
      openssl x509 -inform DER -in burp.cer -out 99-burp.pem
      
    2. 推送到系统证书目录并设权限:
      adb push 99-burp.pem /system/etc/security/cacerts/
      adb shell chmod 644 /system/etc/security/cacerts/99-burp.pem
      
  • 配置设备代理到Burp,打开Chrome和目标应用,发起WebSocket或HTTPS请求,检查Burp是否能正常捕获流量。

常见问题排查

  • /data/adb/modules/路径不存在:升级Magisk到最新稳定版,该目录会自动生成;也可以手动创建后重启设备。
  • 模块生效几天后失效:检查系统是否自动OTA更新,建议关闭系统自动更新;或者重新执行模块加载命令。

内容的提问来源于stack exchange,提问作者Dscarve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:25:19