如何从 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? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android如何从蓝牙隐藏设备获取原始数据?

如何从android图库中隐藏图像

当活动在android中启动时如何隐藏软键盘?

如何从像 android.jar 这样的 jar 中“隐藏”私有类/成员/方法

从任务管理器中隐藏 Android 应用程序 [重复]

android中如何点击一个按钮时隐藏软键盘,(不是点击空白处隐藏软键盘)