【簡記】使用charles抓微信小程序配置htts證書的前提條件


說明

昨天晚上,朋友找我幫忙,說為了了解公司項目的業務,需要對微信小程序進行抓包,配置好久也不能用,讓我幫忙看看,后來一步步配置發現了好多坑,所以記錄一下,防止再踩

條件

安卓手機與蘋果手機的微信信任度不一樣,以下區分說明下

安卓手機

場景:

  • 安卓 7.x 以下,任意微信版本均信任系統與用戶證書,只需要訪問charles下載證書地址,並安裝證書即可
  • 安卓 7.x && 微信 7.0 以下版本,信任系統與用戶證書,僅需安裝證書
  • 安卓 7.x && 微信 7.0 以上版本,只信任系統證書,需要root,添加證書到系統證書目錄中

使用root添加證書到系統目錄方式,使用adb推送
1.手機端掛上charles代理,並使用usb連接手機,使用文件傳輸模式,手機設置進入開發者模式,開啟adb調試並授權
2.手機端訪問<chls.pro/ssl>,下載證書到手機,將證書復制到電腦上
3.計算證書hash值,並重命名,格式為:<Certificate_Hash>.<Number>

openssl x509 -noout -subject_hash_old -in <Certificate_File>

舉例:

將輸出的 hash 值,添加.0, 組合成證書文件新名稱,修改證書文件名

.0 的作用是防止hash沖突,如果沖突了,就將0遞增1位,依次類推。

4.使用 adb 推送到手機目錄中

adb root
adb remount
adb disable-verity
adb push <Renamed_Certificate_File> /system/etc/security/cacerts

例:

adb push b1bfb5ff.0  /system/etc/security/cacerts

不使用adb,通過RootExplorer復制改名后的證書到/system/etc/security/cacerts,並修改文件權限 644,即 rw-r--r--,如果沒立即生效,重啟手機

5.抓包驗證

蘋果手機

  • 安裝證書,直接可用。IOS 12需要設置 通用-關於本機-證書信任設置 中開啟證書

可行方案

  • 使用安卓7以下版本系統,不要求微信版本
  • 使用安卓7以上版本系統,安裝舊版本微信(7.0 以下)
  • 使用安卓7以上版本系統,使用 root 權限將證書復制到系統證書目錄中
  • 有蘋果手機的直接安裝證書使用
  • 沒有蘋果手機,還不想折騰的,向公司測試申請蘋果手機 😄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM