通过Fiddler解密Android应用的HTTPS流量

5次阅读
没有评论

问题描述

尝试使用Fiddler和ProxyDroid在Android设备上捕获和解密HTTPS流量,但仅能看到“Tunnel to : xxx.xxx.xx.xxx:443”的信息,无法解密HTTPS流量。尽管已经安装了FiddlerRoot.cer证书,但仍无法成功解密HTTPS流量。

解决方案

请注意以下操作可能因Android系统版本不同而有所差异,请确保备份重要数据。

方案1

适用于Android 6.0及以下版本

  1. 确保Fiddler配置正确
  2. 打开Fiddler,点击菜单栏的“工具”->“选项”->“HTTPS”,确保勾选“捕获HTTPS流量”、“解密HTTPS流量”和“捕获未加密的HTTP流量”。
  3. 点击“导出根证书到桌面”,将证书文件复制到Android设备或SD卡上。

  4. 在Android设备上安装Fiddler根证书

  5. 进入设备设置 -> 安全 -> 资质存储 -> 安装从SD卡 -> 选择FiddlerRoot.cer证书进行安装。

  6. 配置ProxyDroid

  7. 进入设备设置 -> 连接 -> Wi-Fi -> 当前Wi-Fi网络 -> 更多设置 -> 代理 -> 主机名设置为Fiddler计算机的IP地址,端口设置为8888。

按照上述步骤操作后,HTTPS流量应能被成功解密。

方案2

适用于Android 7.0及以上版本

  1. 下载并安装CertMaker for iOS and Android
  2. 访问https://www.telerik.com/fiddler/add-ons,找到并下载CertMaker for iOS and Android插件,以管理员身份运行安装程序。

  3. 配置Fiddler

  4. 重启Fiddler。
  5. 进入Fiddler -> 工具 -> 选项 -> HTTPS,确保“证书由BCCertMaker.BCCertMaker生成”选项被选中,并且“捕获HTTPS”和“解密HTTPS”功能已启用。

  6. 重置并导出根证书

  7. 点击“重置所有证书”,等待大约一分钟完成。
  8. 点击“导出根证书到桌面”,将生成的FiddlerRoot.cer证书复制到Android设备或SD卡上。

  9. 在Android设备上安装证书

  10. 进入设备设置 -> 安全 -> 资质存储 -> 安装从设备存储 -> 选择FiddlerRoot.cer证书进行安装。
  11. 配置ProxyDroid,设置主机名为Fiddler计算机的IP地址,端口为8888。

通过以上步骤,您应该能够成功解密Android应用的HTTPS流量。

请注意,对于使用自定义受信任服务器证书的应用程序,可能需要对APK进行逆向工程,移除自定义信任机制,然后重新编译应用程序。

正文完