真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

本篇內(nèi)容介紹了“Python如何逆向抓取APP數(shù)據(jù)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、服務(wù)器托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、主機(jī)域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:13518219792

所需設(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ù)器

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

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

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

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

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

脫殼反編譯

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

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

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

python main.py

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

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

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

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

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

Frida Hook

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

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

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

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

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

  • pageIndex:當(dāng)前頁碼

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

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

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

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

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

請求

直接上代碼:

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

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

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

“Python如何逆向抓取APP數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


名稱欄目:Python如何逆向抓取APP數(shù)據(jù)
網(wǎng)站地址:http://weahome.cn/article/ihisip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部