最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

設(shè)備:安卓手機(jī)

抓包:

fiddler+xposed+JustTrustme

查殼:ApkScan-PKID

脫殼:frida-DEXDump

反編譯:jadx-gui

hook:frida

抓包

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

圖片

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

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

圖片

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

脫殼反編譯

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

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

python main.py

等待脫殼完成,可以看到當(dāng)前項(xiàng)目中生成了一個(gè)對(duì)應(yīng)文件夾,里面有很多dex文

圖片

下面用 jadx-gui 打開 dex 文件,一般先從最大的文件開始依次搜索關(guān)鍵字,我們知道 java 中使用 base64 是有 BASE64Encoder 關(guān)鍵字的,因?yàn)樽グ玫降男畔⒎浅I伲谶@里就只能搜索這個(gè)關(guān)鍵字了,搜到第四個(gè)dex中,得到了疑似加密處:

圖片

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

Frida Hoo

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

圖片

同時(shí)來抓包對(duì)比:

圖片

圖片

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

pageIndex:當(dāng)前頁碼

pageSize:當(dāng)前頁對(duì)應(yīng)的數(shù)據(jù)條數(shù)

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

圖片

圖片

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

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

請(qǐng)求

直接上代碼:

圖片

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

圖片

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

相關(guān)文章

  • 使用Python編寫一個(gè)沙箱隔離功能

    使用Python編寫一個(gè)沙箱隔離功能

    這篇文章主要為大家詳細(xì)介紹了如何通過?Docker?實(shí)現(xiàn)一個(gè)簡單的沙箱隔離應(yīng)用,然后提供一個(gè)通過?Python?模擬沙箱的例子,感興趣的可以了解下
    2024-12-12
  • Python簡易版圖書管理系統(tǒng)

    Python簡易版圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)簡易版圖書管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • django2.0擴(kuò)展用戶字段示例

    django2.0擴(kuò)展用戶字段示例

    今天小編就為大家分享一篇關(guān)于django2.0擴(kuò)展用戶字段示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Mac中升級(jí)Python2.7到Python3.5步驟詳解

    Mac中升級(jí)Python2.7到Python3.5步驟詳解

    本篇文章主要介紹了Mac中升級(jí)Python2.7到Python3.5步驟詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • pycharm配置SSH遠(yuǎn)程連接服務(wù)器詳細(xì)步驟(0基礎(chǔ)詳細(xì)版)

    pycharm配置SSH遠(yuǎn)程連接服務(wù)器詳細(xì)步驟(0基礎(chǔ)詳細(xì)版)

    PyCharm是一款流行的Python集成開發(fā)環(huán)境(IDE),提供了遠(yuǎn)程連接云服務(wù)器的功能,使得開發(fā)者可以更加便捷地進(jìn)行遠(yuǎn)程開發(fā)和調(diào)試,這篇文章主要給大家介紹了關(guān)于pycharm配置SSH遠(yuǎn)程連接服務(wù)器的詳細(xì)步驟,需要的朋友可以參考下
    2024-07-07
  • 控制Python浮點(diǎn)數(shù)輸出位數(shù)的操作方法

    控制Python浮點(diǎn)數(shù)輸出位數(shù)的操作方法

    在python的輸出結(jié)果中,尤其是浮點(diǎn)數(shù)的輸出,當(dāng)我們需要寫入文本文件時(shí),最好是采用統(tǒng)一的輸出格式,這樣也能夠增強(qiáng)結(jié)果的可讀性,這篇文章主要介紹了控制Python浮點(diǎn)數(shù)輸出位數(shù)的方法,需要的朋友可以參考下
    2022-04-04
  • python 判斷l(xiāng)inux進(jìn)程,并殺死進(jìn)程的實(shí)現(xiàn)方法

    python 判斷l(xiāng)inux進(jìn)程,并殺死進(jìn)程的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇python 判斷l(xiāng)inux進(jìn)程,并殺死進(jìn)程的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python常用的正則表達(dá)式大全

    python常用的正則表達(dá)式大全

    正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關(guān)于python常用正則表達(dá)式的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • pycharm設(shè)置當(dāng)前工作目錄的操作(working directory)

    pycharm設(shè)置當(dāng)前工作目錄的操作(working directory)

    今天小編就為大家分享一篇pycharm設(shè)置當(dāng)前工作目錄的操作(working directory),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • nlp自然語言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析

    nlp自然語言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析

    這篇文章主要為大家介紹了nlp自然語言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論

行唐县| 洞口县| 大埔县| 南召县| 万源市| 同江市| 航空| 余庆县| 曲沃县| 宣汉县| 曲周县| 泽库县| 赣州市| 金昌市| 汉沽区| 海宁市| 开远市| 汝州市| 宣城市| 宜川县| 福州市| 吉安县| 宜兰市| 石城县| 沭阳县| 中江县| 应用必备| 团风县| 饶阳县| 常宁市| 大理市| 赫章县| 顺平县| 分宜县| 灌南县| 博罗县| 蚌埠市| 长岛县| 武邑县| 马龙县| 文山县|