pixel2 Android11 Https 抓包記錄

關鍵詞 : pixel2 Android11 Magisk httpcanary Https

最近需要抓HTTPS,手裏設備有pixel2 ,4,6 都是高版本。查找了下資料,配置環境,記錄下。

前置條件
1.設備一臺已Root, Magisk方案

需要物料:
1.win adb環境 。參見:adb
2.win openssl環境。參見:openssl
3.httpcanary.apk 。 自行搜索,可參見: httpcanary

簡單說明:
https和https抓包區別,這裏不做解釋說明,可以參見:https和https抓包區別
期間嘗試了多種方案和方式,
主要是CA證書遷移到系統分區 (/etc/security/cacerts/)
Magisk方案,雖然有su權限,但是無法mount system分區,具體原因不做詳細解釋,系統分區導致
過程使用過多個基於Magisk模塊製作的證書遷移方案,包括但不限於:

MoveCertificate-v1.4.1.zip
movecert-1.9
Magic Eraser - Remove Object_2.4.4.apk
原理可以參考:https://bbs.kanxue.com/thread-275433.htm
在我手裏設備均爲成功,(不代表以上方案失效,有的方案是先安裝用戶證書,magisk模塊會將所有用戶證書都拷貝到系統分區實現系統證書安裝,無需指定和重新制作Magisk模塊)
有時候CA證書成功遷移到了system,但是權限不對。最終採取自己製作Magisk模塊,實現證書遷移。
步驟如下:

1.確保手機Magisk正常,可以安裝模塊
2.安裝httpcanary.apk
參考:https://blog.csdn.net/weixin_53891182/article/details/124739048
到處證書,注意,是到處系統證書,(其實兩個證書都是一樣的,只不過格式不一樣,用戶證書.pem 系統證書.0 ,後面會轉換,發現.pem轉換後和.0 相同)
證書導出後,地址 /sdcard/Download
使用adb pull 到電腦 ,配用
3.準備Magisk模塊,最基礎模塊即可,
這裏簡單解釋一下,Magisk模塊可以理解成一個壓縮包,可以在Magisk手動安裝模塊,安裝成功後,Magisk會根據規則,釋放和運行模塊腳本,達到模塊效果
Magisk模塊可以創建 system目錄,模塊安裝後,system目錄中文件會被拷貝到系統真正/system 目錄
我們想安裝系統CA證書,就是要把證書 xxxxxx.0文件拷貝到 /etc/security/cacerts/xxxxxx.0
所以,自己修改Magisk模塊,在目錄中創建 system/etc/security/cacerts/ 目錄,將子系統證書放到此目錄,最終效果如圖
模塊安裝後,xxxxxx.0 會被覆蓋拷貝到 /system/etc/security/cacerts/xxxxxx.0 實現系統證書安裝
3.1具體操作
解壓Magisk模塊,將步驟2導出的證書,替換到模塊/etc/security/cacerts/目錄下,證書名字不要修改
有時候,手裏拿到證書只有pem格式,非android系統證書xxxxx.0格式,需要轉換
轉換方式,參見:pem格式轉換
替換完畢後結構如下:
├─common
├─META-INF
│ └─com
│ └─google
│ └─android
├─README.assets
└─system
└─etc
└─security
└─cacerts
└─xxxxx.0

證書替換完畢後,重新打包Maigsk模塊,說是重新打包,其實就是再壓縮,注意壓縮格式路徑,不要多一級目錄,我用的7zip,在當前目錄-右鍵添加壓縮文件,輸入壓縮文件名(隨便寫zaaa.zip) 創建壓縮文件

Magisk模塊修改完成後,adb push 到手機 ,例如 adb push zaaa.zip /sdcard/Download/
手機打開Magisk ,選擇模塊-從本地安裝-找到下載目錄- zaaa.zip ,選擇安裝,
順利的話,會看到安裝日誌, (這裏可以參見Magisk安裝日誌)
重啓,(每次安裝完畢模塊,需要重啓生效,重啓後才能將證書複製到系統分區)
打開httpcanary ,驗證是否可以獲取到 https數據

4.補充:
爲快速排查問題
1.首先確保Magisk安裝模塊正常,先安裝其他基礎Magisk模塊,看是否正常
2.安裝修改後Magisk模塊前,先用httpcanary 查看是https數據,最好有定向接口驗證,確認此接口是https切未加密數據,不然解決了https依然看到加密亂碼,會懷疑沒成功
3.安裝修改後Magisk模塊前,先adb shell 查看 /system/etc/security/cacerts/證書 ,注意時間,一般是否很早時間
4. 安裝模塊後,再次查看 /system/etc/security/cacerts/下證書,注意時間,是否有新增證書, 可用grep 篩選
5.系統證書安裝成功後,再次打開httpcanary 驗證接口,可能httpcanary 識別未安裝,實際可以獲取到https內容,據說是因爲httpcanary 識別問題,未作研究。
6.習慣使用charles 的同學,可以在手機導出證書,轉換成系統證書格式後,根據步驟添加到 系統證書,實現charles 抓包,在使用過程中,發現httpcanary 和charles 無法同時使用,未作細究

以上就是 android 11 上https抓包記錄,
請注意,以上內容步驟教程,均來自網絡,抓包僅做數據驗證使用,請勿用於非法用途,請遵守網絡安全法。如拿去非法使用與本人無關!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章