日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

寫過爬蟲的同學都知道,當我們想對App或者小程序進行抓包時,最常用的工具是Charles、Fiddler或者MimtProxy。但這些軟件用起來非常復雜。特別是當你花了一兩個小時把這些軟件搞定的時候,別人只用了15分鐘就已經手動把需要的數據抄寫完成了。

我的需求

如果你不是專業的爬蟲開發者,那么大多數時候你的抓包需求都是很小的需求,手動操作也不是不能。這種時候,我們最需要的是一種簡單快捷的,毫不費力的方法來解放雙手。

例如我最近在玩《塞爾達傳說——王國之淚》,我有一個小需求,就是想找到防御力最大的帽子、衣服和褲子來混搭。這些數據,在一個叫做『Jump』的App上面全都有,如下圖所示:

圖片圖片

防具總共也就幾十個,肉眼一個一個看也沒問題,就是費點時間而已。那么,如果我想高效一些,有沒有什么簡單辦法通過抓包再加上Python/ target=_blank class=infotextkey>Python寫幾行代碼來篩選,快速找到我想要的數據呢?

手機上的操作

實際上,方法非常簡單。我們只需要在手機上安裝一個App,叫做『Stream』,如下圖所示:

圖片圖片

這個軟件在App Store國區就可以下載。

第一次打開這個App的時候,我們設置一下根證書,點擊下圖中箭頭指向的這個按鈕:

圖片圖片

他會一步一步指導你安裝根證書。整個過程不超過30秒,這里我就不再贅述了。

安裝完成根證書以后,我們點擊『開始抓包』按鈕。此時,手機上面所有的流量就會經過Stream并抓取下來。

我們打開Jump App,找到防具列表,然后不停往下滑動屏幕,直到滑到最下面。

然后回到Stream,點擊『停止抓包』按鈕。抓包過程就完成了。

我們點擊『抓包歷史』按鈕,找到剛剛抓到的數據包,如下圖所示:

圖片圖片

按域名進行篩選,方便找到Jump App發送的HTTP請求。如下圖所示:

圖片圖片

打開請求以后,點擊『響應』-『查看響應』按鈕,如下圖所示:

圖片圖片

我們就能看到如下圖所示請求體,這確實就是防具對應的數據包,如下圖所示:

圖片圖片

我們現在,需要使用篩選功能,選出所有獲取防具信息的后端請求。所以先到『請求選項卡』,查看一下URL的規律,如下圖所示:

圖片圖片

回到請求列表頁,點擊右上角的放大鏡進行篩選,如下圖所示:

圖片圖片

篩選以后,只有5個請求了,如下圖所示:

圖片圖片

最后一步,我們點擊右上角的『編輯』按鈕,選中所有請求,并點擊右下角的『導出HAR』,如下圖所示:

圖片圖片

大家可以使用AIrDrop或者微信發送到電腦上。到此為止,手機上的所有操作就已經結束了。接下來我們來到電腦上,寫一段Python代碼來解析這個HAR文件。

寫一點點代碼

這段代碼非常簡單,大家可以直接復制:

import json
import brotli
import base64
from haralyzer import HarParser


with open('/Users/kingname/Downloads/Stream-2023-07-06 22:08:44.har') as f:
    har_parser = HarParser(json.loads(f.read()))


data = har_parser.har_data
entries = data['entries']
for entry in entries:
    text = entry['response']['content']['text']
    content = brotli.decompress(base64.b64decode(text)).decode()
    info = json.loads(content)
    print(info)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

運行效果如下圖所示:

圖片圖片

這里我們使用了兩個第三方庫,分別是haralyzer和brotli。其中的haralyzer是用來解析HAR文件;brotli是用來對數據進行解壓縮。

在一般情況下,其他網站的HAR解析,代碼到text = entry['response']['content']['text']就可以了。返回的text直接就是人眼可讀的內容了。但Jump稍微特殊一些,因為它返回的內容經過壓縮,所以獲取到的是Base64字符串。如果我們直接打印,就會看到:

圖片圖片

這個Base64不能直接解碼,因為解了以后是二進制信息。從之前Stream的響應Headers里面,我們可以看到這個數據是經過br壓縮的,如下圖所示:

圖片圖片

所以需要使用brotli解壓縮:brotli.decompress(base64.b64decode(text)).decode()。

現在你已經拿到返回數據的JSON信息了。那么接下來要對數據進行怎么樣的處理,都不再是問題了。

總結

  1. 安裝Stream并設置根證書
  2. 打開抓包功能
  3. 打開目標App或者微信小程序,讓流量經過Stream
  4. 關閉抓包功能,從抓包歷史里面找到目標請求的URL規則
  5. 篩選出所有需要的請求,導出為HAR文件
  6. 使用Python解析HAR文件

當你熟練以后,整個過程不超過3分鐘就能完成。

分享到:
標簽:iOS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定