使用mumu模擬器抓包 andriod app

Liaofy發表於2023-12-07

背景

公司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!

相關文章