最全總結 | Android 系統抓包餵飯教程!

1. 前言

大家好,我是安果!

在編寫爬蟲前,我們都需要對目標應用進行抓包,然後分析一波後,才能進入到編寫腳本的階段

對於使用 iPhone 的小夥伴來說,日常抓包不要太容易。PC 端工具,比如:Charles、Fiddler 完全夠打;「 Stream」是 iOS 端一款非常強大的網絡抓包應用,界面簡潔的同時功能非常強大

但對於使用 Android 高版本系統的小夥伴來說,抓包就沒那麼便利了!由於高版本系統提高了安全策略,要抓包必須將 CA 證書放置到系統證書目錄下才能進行正常抓包,而用戶安裝的證書默認爲用戶證書,導致很多 App 沒法進行正常抓包

本篇文章將以常見場景介紹 Android 高版本系統抓包的操作步驟

2. 非 Root 設備

Android 同樣有一款強大的網絡抓包工具,即:小黃鳥「 HttpCanary 」

具體的操作步驟如下:

2-1  導出 HttpCanary 根證書

安裝小黃鳥 App 後,進入到設置頁面,導出 HttpCanary 根證書

類型選擇「 System Trusted(.0) 」

這樣,HttpCanary 根證書保存到「 內部存儲路徑/HttpCanary/cert/...0」目錄下

2-2  安裝 APKPure 和 VMOS Pro 應用

VMOS PRO 下載地址:https://apkpure.com/cn/vmos-pro/com.vmos.ggp

PS:由於 VMOS PRO 應用格式爲 XAPK,這裏推薦通過 APKPure 安裝 XAPK 格式的應用

2-3  VMOS 導入 RE 應用、目標應用及 HttpCanary 根證書

打開 VMOS Pro 應用,導入 Root Explorer 應用、目標應用及 HttpCanary 根證書文件

這樣,VMOS 中就包含了目標應用、RE 文件管理應用,並且 HttpCanary 根證書文件默認被保存到 「 VMOSfiletransferstatio/ 」下

2-4  導入證書到系統證書目錄下

在 VMOS Pro 中,通過 RE 應用將 HttpCanary 根證書文件移動到系統證書目錄下

系統證書目錄:/system/etc/security/cacerts/

2-5  開始抓包

打開小黃鳥 App,在設置目標應用中設置爲「 VMSO 」,然後在主界面開啓抓包開關,最後在 VMOS 中操作目標應用

目標應用的網絡請求都會展示在小黃鳥主界面列表中了

需要補充的是,小黃鳥 HttpCanary 應用中更推薦使用「 平行空間 」進行抓包,但是實際使用過程發現存在閃退及安裝插件等問題,不太推薦使用

3. Root 設備

如果手機已經完成 Root,我們只需要將第三方證書移動(比如:小黃鳥、Charles 等)移動到系統證書目錄即可

這裏通過小黃鳥 App 及 Charles 進行講解,Fiddler 類似

3-1  小黃鳥 App 抓包

操作步驟如下:

  • 手機解鎖並 Root

  • 安裝小黃鳥 HttpCanary 應用,並導出 HttpCanary 根證書,格式選擇和上面一樣

  • 通過數據線,拷貝 CA 證書到 PC 上

  • PC 端下載 adb 並配置環境變量

  • 通過下面一系列 adb 命令,將證書 PUSH 到系統證書目錄下

  • 打開小黃鳥應用,設置目標應用

  • 在小黃鳥主界面點擊抓包按鈕,即可以對目標應用進行抓包了

# 授予adb root權限
adb root
# 禁用系統驗證
adb disable-verity 
# 重啓手機
adb reboot

# 授予adb root權限
adb root

# 在將文件 push 到 '/system' 文件夾之前,必須先輸入命令 'adb remount'
adb remount

# 拷貝證書到/system/etc/security/cacerts/下面
# adb push 87bc3517.0 /system/etc/security/cacerts/

# 重啓
adb reroot

# 查看是否包含導入的CA證書
adb root
adb shell
cd /system/etc/security/cacerts/
ls

3-2  Charles 抓包

操作步驟如下:

  • Charles 在幫助中下載證書(比如:CER 證書),通過數據線拷貝到手機上

  • 在文件管理中找到這個證書手動進行安裝

    默認會安裝到用戶證書中

    安裝目錄:/data/misc/user/0/cacerts-added/

  • 使用下面 adb 命令開啓手機 system 目錄的讀寫權限

  • 安裝 RE 文件管理應用並授予 Root 權限,將上面的證書從用戶證書目錄移動到系統證書目錄下

    系統的證書目錄:/system/etc/security/cacerts

  • 重啓手機

  • 抓包測試

    查看 PC 端的 ip 地址,手機保持在同一局域網,然後設置爲手動代理,最後抓包進行測試

# 以 root 權限執行
adb root
# 禁用系統驗證
adb disable-verity
# 重啓手機
adb reboot
# 以 root 權限運行
adb root
# 重新掛載
adb remount

4. 最後

上面以手機是否 Root 簡單闡述了高版本 Android 系統各種場景的抓包流程

除了上面的抓包方式,還有很多方案可以選擇。對於 Root 設備我們可以安裝 Magisk 面具,再配合 movecert 模塊進行抓包;或者我們也可以通過 EdXposed 框架 + trustmealredy 模塊進行抓包,實際工作中,我們可以根據需求自行選擇適合自己的方式

如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因爲這將是我持續輸出更多優質文章的最強動力!

推薦閱讀

教你用 Python 快速批量轉換 HEIC 文件

教你用 Python 快速獲取相關概念股,輔助價值投資!

Python 打新股,我建議你這麼來操作!

完整流程 | 閒魚哪些東西好賣?我幫你分析出來了!

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