如何从 Android 应用程序中隐藏 Charles? [关闭]
Posted
技术标签:
【中文标题】如何从 Android 应用程序中隐藏 Charles? [关闭]【英文标题】:How to hide Charles from an Android App? [closed] 【发布时间】:2017-05-18 07:02:01 【问题描述】:我已将 Charles 配置为代理,因此我可以捕获我的 android 手机上的所有请求。
我能够捕获来自除一个特殊应用之外的所有应用的请求。当我将 wifi 的代理设置为我的计算机和端口 8888 时,这个应用程序无法连接到网络。而其他应用程序同时连接良好。
我也尝试过使用数据包捕获,行为是一样的。
所以我的问题是这个应用程序如何知道我正在使用 Charles?有什么办法可以让 Charles 不被发现吗?
【问题讨论】:
@Colwin 非常感谢。how does this app know I am using Charles
我们怎么知道应用程序是怎么知道的?询问应用的开发者,或对应用进行逆向工程。
如果可以,我为什么要在这里发问题?@VladMatvienko
If I can
- 是什么让你不去can
?你试过(逆向工程)吗?
@VladMatvienko 我的意思是如果有一种现有的技术可以在 Android 中使用来知道是否有查尔斯?
【参考方案1】:
您是否在安卓设备上设置了 Charles ssl 证书?可能是应用拒绝了 Charles 的自签名证书。
查看此处了解如何设置的详细信息 -> https://community.tealiumiq.com/t5/Tealium-for-Android/Setting-up-Charles-to-Proxy-your-Android-Device/ta-p/5121
【讨论】:
并且可以捕获其他应用的所有请求。所以我认为这与证书无关。 正如你所说,根本原因是属于证书。当我升级Charles时,旧证书不会被最新的证书替换,我必须将其从mac的钥匙串中删除并重新安装。【参考方案2】:我发现了问题。当我升级 Charles 时,证书不会自动更新。这意味着我必须从 mac 的密钥链中删除旧证书,然后重新安装最新的证书,然后相信它。否则,所有 HTTPS 请求方法都将变为“CONNECT”方法,并且总是失败。
如果你有同样的问题,请尝试删除旧证书并在mac和手机中重新安装最新的证书。希望你能解决问题。
【讨论】:
以上是关于如何从 Android 应用程序中隐藏 Charles? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章