溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決

發(fā)布時(shí)間:2022-01-04 09:22:07 來源:億速云 閱讀:171 作者:柒染 欄目:大數(shù)據(jù)

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。


看完了初級篇的常規(guī)模式之后,你是不是發(fā)現(xiàn)了一個(gè)很嚴(yán)重的問題:如果每個(gè)APP都需要這么反編譯看代碼仿寫的話,那么當(dāng)想要大批量爬不同的APP的時(shí)候,光是找加密參數(shù)的生成部分就已經(jīng)很花時(shí)間了,有沒有更快捷的辦法呢?

答案是有的,而且對于初級篇水平的APP來說,這個(gè)操作可以讓你在一分鐘內(nèi)直接秒掉它的加密參數(shù)部分,可以說是一種降維打擊了!

那么這個(gè)效果是怎么做到的呢?其實(shí)很簡單,就是直接將Java標(biāo)準(zhǔn)庫中常見的被用于生成加密參數(shù)的方法給Hook了,監(jiān)聽它們的輸入?yún)?shù)和返回值,這樣就能直接得到加密、Hash前的原文、密鑰、IV等內(nèi)容了,怎么樣?是不是很簡單?

小提示:之所以不提Kotlin,是因?yàn)樵贙otlin下寫加密、Hash操作的代碼時(shí)如果不使用第三方庫的話,就只能調(diào)用Java的標(biāo)準(zhǔn)庫了,而第三方庫的類名、方法名可能性太多了,不像標(biāo)準(zhǔn)庫那樣可以直接秒殺一大片,所以不屬于本系列初級篇內(nèi)容。(已詢問多位Android開發(fā)同學(xué)驗(yàn)證此結(jié)論)

所以…要怎么操作呢?其實(shí)目前已經(jīng)有一個(gè)非常方便的、基于Xposed框架編寫的、能實(shí)現(xiàn)這種效果的工具了,它就是——Inspeckage。它已經(jīng)將標(biāo)準(zhǔn)庫中常用的加密、Hash方法都給Hook了:

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  
Inspeckage Hook 加密類操作標(biāo)準(zhǔn)庫的代碼
寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  
Inspeckage Hook Hash類操作標(biāo)準(zhǔn)庫的代碼

而在你需要的時(shí)候,只需要打開Inspeckage -> 選擇需要Hook的APP -> 打開Inspeckage的Web端或者在日志中搜索你所需要找的加密參數(shù)就可以得到原文和使用的加密、Hash類型,直接秒殺!

接下來我將繼續(xù)使用前面常規(guī)模式中的Demo APP來進(jìn)行演示,如果你迫不及待地想要嘗試了的話,可以發(fā)送消息【app秒殺】到我的公眾號獲得Demo APP的下載地址


話不多說,我們開始實(shí)戰(zhàn),首先我們需要準(zhǔn)備一臺已經(jīng)安裝好Xposed框架的Android手機(jī),然后在Inspeckage的GitHub倉庫中下載最新編譯好的Inspeckage安裝包或直接在Xposed管理器中安裝它。

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  

裝好后記得在Xposed管理器中將它啟用,啟用后需要重啟生效。


準(zhǔn)備好了環(huán)境之后,我們就可以開始破解這個(gè)Demo APP了,打開Inspeckage,點(diǎn)擊“choose target”選中想要Hook的APP(這里選擇“APP加密參數(shù)DEMO-初級篇”)。

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  
寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  

選中后點(diǎn)擊“LAUNCH APP”按鈕就可以了。

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  

小提示:如果在這之前你打開過指定的APP的話,需要將其強(qiáng)制停止后再點(diǎn)擊“LAUNCH APP”按鈕,否則可能會(huì)出現(xiàn)Hook失敗的情況。

在啟動(dòng)之后我們就可以在Inspeckage的Web端或日志中搜索sign的加密后參數(shù)了,這里說一下怎么操作:

  • Web端

    Web端的話,如果你的手機(jī)和電腦是在同一個(gè)網(wǎng)絡(luò)環(huán)境下,且手機(jī)和電腦能互通,那么你可以在電腦上直接用瀏覽器訪問手機(jī)上顯示的內(nèi)網(wǎng)IP地址(如http://192.168.137.64:8008);如果你的網(wǎng)絡(luò)環(huán)境使你不能這么操作的話,你還可以用adb命令adb forward tcp:8008 tcp:8008將手機(jī)上的8008端口映射到電腦上,然后就可以直接訪問http://127.0.0.1:8008了(需要8008端口未被占用)。

    寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決

    在打開了Web端之后,將頁面上方那個(gè)扳手按鈕右邊的自動(dòng)刷新選項(xiàng)打開,就可以看到被Hook出來的東西了。

  • 日志

    可以使用adb命令adb logcat來導(dǎo)出日志然后查看,或者是用像Android Studio中的logcat工具這種流式、帶搜索功能的工具來查看。另外如果在Web端找到對應(yīng)的加密參數(shù)時(shí),原文過長導(dǎo)致出現(xiàn)被截?cái)嗟那闆r,也可以在日志中找到對應(yīng)的內(nèi)容進(jìn)行查看,打到日志中的會(huì)是完全體。


之后依然是常規(guī)流程,先抓個(gè)包看看。(再次提醒,如果你抓不到包的話,先看看我之前的抓包系列文章,這是基本操作?。?/strong>

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  

這里我們抓包后得到了一個(gè)sign:188c338423f3af3c2c0277946de958f8,直接將它復(fù)制出來,然后在Inspeckage的Web端中的Hash欄內(nèi)搜索(日志內(nèi)搜索直接搜sign的內(nèi)容即可)。

寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決  


關(guān)于寫爬蟲遇到APP的請求有加密參數(shù)時(shí)怎么解決問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

app
AI