亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何使用Python逆向抓取APP數(shù)據(jù)

 更新時間:2021年05月24日 08:22:58   作者:不加班的程序員丶  
今天給大伙分享一下 Python 爬蟲的教程,這次主要涉及到的是關于某 APP 的逆向分析并抓取數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天給大伙分享一下 Python 爬蟲的教程,這次主要涉及到的是關于某 APP 的逆向分析并抓取數(shù)據(jù),關于 APP 的反爬會麻煩一些,比如 Android 端的代碼寫完一般會進行打包并混淆加密加固,所以除了抓包之外,還需要對 APP 進行查殼脫殼反編譯等操作。

所需設備和環(huán)境:

設備:安卓手機

抓包:

fiddler+xposed+JustTrustme

查殼:ApkScan-PKID

脫殼:frida-DEXDump

反編譯:jadx-gui

hook:frida

抓包

手機安裝app,設置好代理,打開 fiddler 先來抓個包,發(fā)現(xiàn)這個 app 做了證書驗證,fiddler 開啟之后  app提示連接不到服務器:

圖片

那就是 app 做了 SSL pinning 證書驗證,解決這種問題一般都是安裝 xposed 框架,里面有一個 JustTrustme 模塊,它的原理就是hook,直接繞過證書驗證類,安裝方法大家百度吧。

之后再打開app,可以看到成功抓到了包:

圖片

先簡單分析一下,可以看到請求體中 formdata 是密文,響應內(nèi)容也是密文,這個請求和響應中有用信息非常少,甚至都不知道在 jadx-gui 里怎么搜索,請求體中 formdata 是以兩個等號結(jié)尾的,應該是個 base64 編碼,其他一概不知。。。

脫殼反編譯

那先來反編譯,在這之前,通常是先用查殼工具檢查一下 app 是否加固,打開 ApkScan-PKID ,把 app

可以看到這個 app 使用了 360 加固,真是層層設限?。?!這里使用frida-DEXDump來脫殼,可以到 github 上下載 frida-DEXDump 的源代碼,完成之后打開項目所在文件夾,在當前位置打開命令行運行以下命令:

python main.py

等待脫殼完成,可以看到當前項目中生成了一個對應文件夾,里面有很多dex文

圖片

下面用 jadx-gui 打開 dex 文件,一般先從最大的文件開始依次搜索關鍵字,我們知道 java 中使用 base64 是有 BASE64Encoder 關鍵字的,因為抓包得到的信息非常少,在這里就只能搜索這個關鍵字了,搜到第四個dex中,得到了疑似加密處:

圖片

可以看到是使用了一個 aes 加密,密鑰是固定的字符串。

Frida Hoo

Java不太熟,分析不來,直接使用 frida 來寫一段 hook 代碼看一看 encrypt 函數(shù)入?yún)⒑统鰠⒌膬?nèi)容:

圖片

同時來抓包對比:

圖片

圖片

就得到了這里的請求 data 入?yún)?shù)據(jù):

pageIndex:當前頁碼

pageSize:當前頁對應的數(shù)據(jù)條數(shù)

typeId 和 source 是固定的, 接下來再來 hook decrypt 函數(shù),對比抓包和 hook 結(jié)果:

圖片

圖片

結(jié)果是一樣的,至此,我們逆向分析就完成了。

總結(jié)一下請求和響應過程,就是請求體中的 data 經(jīng)過 encrypt 函數(shù)加密傳參,改變 pageIndex 就可以得到每頁數(shù)據(jù),響應是經(jīng)過 decrypt 函數(shù)加密顯示,那我們只需要在 python 中實現(xiàn)這個 aes 加密解密過程就行了,從反編譯的 java 代碼中可以看出密鑰是固定的:wxtdefgabcdawn12,沒有 iv 偏移。

請求

直接上代碼:

圖片

運行代碼,成功拿到數(shù)據(jù):

圖片

到此這篇關于如何使用Python逆向抓取APP數(shù)據(jù)的文章就介紹到這了,更多相關Python逆向抓取APP數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python中的多線程實例(簡單易懂)

    Python中的多線程實例(簡單易懂)

    這篇文章主要介紹了Python中的多線程實例,一個CPU,將時間切成一片一片的,CPU輪轉(zhuǎn)著去處理一件一件的事情,到了規(guī)定的時間片就處理下一件事情,更多的相關內(nèi)容需要的小伙伴可以參考下面文章詳細
    2022-06-06
  • Python 2/3下處理cjk編碼的zip文件的方法

    Python 2/3下處理cjk編碼的zip文件的方法

    今天小編給大家分享Python 2/3下處理cjk編碼的zip文件的方法,在項目中經(jīng)常會遇到這樣的問題,小編特意分享到腳本之家平臺,感興趣的朋友跟隨小編一起看看吧
    2019-04-04
  • 使用python實現(xiàn)UDP通信方式

    使用python實現(xiàn)UDP通信方式

    這篇文章主要介紹了使用python實現(xiàn)UDP通信方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python?argparse的使用步驟(全網(wǎng)最全)

    python?argparse的使用步驟(全網(wǎng)最全)

    argparse是python的一個命令行參數(shù)解析包,在代碼需要頻繁修改參數(shù)時,方便使用,主要用法就是在命令行輸入自己想要修改的參數(shù),這篇文章主要介紹了python?argparse的使用步驟(全網(wǎng)最全),需要的朋友可以參考下
    2023-04-04
  • 詳解Python裝飾器之@property

    詳解Python裝飾器之@property

    今天帶大家學習python裝飾器的相關知識,文中對Python @property做了非常詳細的介紹,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python使用PIL進行JPEG圖像壓縮的簡易教程

    Python使用PIL進行JPEG圖像壓縮的簡易教程

    本文介紹了如何使用Python編程語言和wxPython圖形用戶界面庫進行JPEG圖像的壓縮,通過添加滑塊控件,我們可以調(diào)整壓縮質(zhì)量,并將壓縮后的照片另存為原來的名稱加上后綴"壓縮+質(zhì)量數(shù)字"的新文件,需要的朋友可以參考下
    2023-09-09
  • python3 使用函數(shù)求兩個數(shù)的和與差

    python3 使用函數(shù)求兩個數(shù)的和與差

    這篇文章主要介紹了python3 使用函數(shù)求兩個數(shù)的和與差,具有很好的參考價值,希望對大家有所幫助。
    2021-05-05
  • 利用Python腳本實現(xiàn)自動刷網(wǎng)課

    利用Python腳本實現(xiàn)自動刷網(wǎng)課

    這篇文章主要介紹了利用Python腳本實現(xiàn)自動刷網(wǎng)課,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn)

    Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn)

    PyMysql是Python中用于連接MySQL數(shù)據(jù)庫的一個第三方庫,本文主要介紹了Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 解決pyecharts在jupyter notebook中使用報錯問題

    解決pyecharts在jupyter notebook中使用報錯問題

    這篇文章主要介紹了解決pyecharts在jupyter notebook中使用報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論