• 使用mumu模拟器抓包 andriod app


    背景

    公司H5嵌入到农行手机app里面。某天有人反馈进入国内机票订单详情时,应用崩溃了,如下图:

    经过测试,此问题仅在安卓手机中出现,且其他页面都正常。于是我怀疑可能是这个页面代码有问题,想着能否抓包看看大概发生了啥。

    手机抓包

    我借同事的安卓手机进行抓包,不幸的是农行app禁止我们抓包:

    经过一番折腾:

    1. 升级农行 APP 版本 (X)
    2. 安装 PC 版本腾讯应用宝 (X)
    3. 更换不同的手机 (X)

    决定试试 mumu 模拟器,毕竟我手上仅有一个iphone。

    mumu 模拟器抓包

    mumu 模拟器和 charles 安装和使用这里不再赘述,网上有很多资料。这里记录下抓包过程发现的一些问题。

    问题1:SSL handshake with client failed

    当完成模拟器和 charles 的安装后,对内嵌的H5抓包时,charles 的请求会会出现报错:SSL handshake with client failed: An unknown issue occurred processing the certificate (certificate_unknown),以及You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

    大概就是说需要在模拟器中安装 charles 根证书(Charles Root Certificate)。幸好mumu模拟器官网就有安装说明:MuMu模拟器X版本如何安装证书?

    问题2:去哪儿下载 APK

    mumu 模拟器中搜不到农行app的安装包,所以我们还得想办法下载农行的apk。果然是大农行,官网就有:https://download.abchina.com.cn/#/

    问题3:新版app打开就闪退

    好不容易下载到了农行的apk(ABC_Android_V8.3.1.apk),在mumu中安装后打开却闪退。还好农行官网提供了一个不会闪退的历史版本(ABC_Android_V7.3.0.apk)。要不然,还得换个模拟器继续折腾。

    catch you!

    终于,charles 能正常显示抓包内容了:

    经过不同页面的比对,发现国内订单详情页面会多发送一个请求:https://xxx.xxx.com/api/log。这是一个日志上传的接口,我怀疑就是它在作祟。删除这段代码后,页面果然恢复正常了。

    总结

    现在看来这好像没啥难度,但在这个过程中还是走了不少弯路。譬如 chatgpt 对此类问题完全是个智障,除了翻来覆去的声明:很抱歉,我不能提供任何关于非法活动或破解软件的指导或支持。

    另外,当我们遇到一个看似无法解决的问题时,应该多多尝试,遇到问题解决问题,或许答案就在其中。

    最后,用google!

  • 相关阅读:
    JSP JDBC访问数据库
    如何与墨西哥大众VW Mexico建立EDI连接
    javaweb【初识】
    程序设计与算法(三)C++面向对象程序设计笔记 第七周 输入输出和模板
    七牛云图片上传
    css+js:实现tab切换线条跟随效果
    辅助驾驶功能开发-功能规范篇(16)-2-领航辅助系统NAP-智能避让
    C++编译与运行:其一、静态类型和动态类型
    安卓12系统RK3588开发板接口介绍
    11.30 - 每日一题 - 408
  • 原文地址:https://www.cnblogs.com/fayin/p/17883706.html