我正在尝试调试 Google Playstore 上的应用程序,以便我可以看到它发出的请求。我已在计算机上设置了 Charles Proxy 来帮助我执行此操作,但我在查看通过 https 发送的请求时遇到问题。下面列出了我的步骤。
我的电脑:
Manjaro Linux
我的电话:
谷歌 Pixel 4a
安卓11
没有root
我的设置:
使用 Charles v4.6.1
我的访问控制设置包含我手机的 IP。
以下是我允许应用程序通过 charles 使用 SSL 的步骤:
<network-security-config>
内添加以下几行。<debug-overrides>
<trust-anchors>
<certificates src="user"/>
</trust-anchors>
</debug-overrides>
通过此列表,我在任何步骤都没有收到任何错误。
预先感谢您,如果您需要更多详细信息,请告诉我。
您的网络配置位于
<debug-overrides>
内,仅适用于调试版本。您是在调试模式下构建应用程序还是在生产模式下构建应用程序?如果您不在调试模式下构建,则该配置将不适用。
您可能想使用
<base-config>
来代替,它适用于所有构建,而不仅仅是调试构建。这里有一个完整的示例:https://httptoolkit.tech/docs/guides/android/#if-you-dont-have-a-custom-network-security-config。
如果这不起作用,那么应用程序代码本身可能存在一些证书固定,与网络安全设置无关。要解决此问题,您需要手动编辑代码本身。您还可以尝试使用 https://github.com/shroudedcode/apk-mitm,它提供了一系列自动补丁,可以为您禁用许多常见的手动固定实现。
“终止星”?吸我的狗屎----。