【问题标题】:How to hide Charles from an Android App? [closed]如何从 Android 应用程序中隐藏 Charles? [关闭]
【发布时间】: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 中使用来知道是否有查尔斯?

标签: android proxy charles-proxy


【解决方案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和手机中重新安装最新的证书。希望你能解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2023-03-15
    • 2016-04-24
    • 2017-08-17
    • 1970-01-01
    相关资源
    最近更新 更多