App爬蟲思路

評估分析

在抓包前,建議一定要先分析。

有網頁端抓網頁端、有移動端抓移動端、有客戶端抓客戶端,最後的選擇纔是App。

舉個例子。針對騰訊視頻考慮順序:

  1. 網頁端:https://v.qq.com/
  2. 移動端:https://m.v.qq.com/index.html
  3. 客戶端:通過charles設置代理抓取
  4. App

騰訊自己就有做應用加固的,旗下產品自然很難被編譯

如果你能反編譯騰訊旗下App,請告訴我方法

如何抓包

在知乎上也有這個問題 如何在 Android 手機上實現抓包?

但是我覺得不夠全,首先對於一般的HTTP和HTTPS協議,通過最基本的Fiddler和Charles就可以抓包,具體方法請Google。需要保證兩點:App走代理,證書被信任。

有些應用不走操作系統的 HTTP 代理,直接走 TCP 協議,無法使用 HTTP 代理抓包。雖然 Charles 支持 SOCKS 代理,但無法分析 TCP 包。這就需要祭出大殺器 tcpdump 和 Wireshark 。

說一下DNS抓包,。這個網上基本找不到資料,這也是大佬教我的,詳細步驟在博客裏,感興趣自行翻閱。

還有一個比較出名的是mitmproxy,沒怎麼用過。

最後,蘋果公司有做一個比較詳細的抓包說明

https://developer.apple.com/library/archive/qa/qa1176/_index.html

如何逆向

逆向一直是一個很大的話題,而且還專門有逆向工程師這個職位,可見其中水之深。

對於爬蟲,簡單瞭解即可。這裏需要三個逆向工具:

  1. Apktool:獲取資源文件和smail代碼
  2. dex2jar:將dex文件轉換成jar文件
  3. JD-GUI:查看到反編譯後的dex的代碼

最後看到的是JAVA代碼,所以能看懂JAVA是必要能力。

JD-GUI我用的比較多,簡單演示下。

主要是使用搜索功能,搜索前需要先花很多時間反編譯。

如果對Appnium感興趣,可以看看 Appium環境搭建超詳細教程

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