相關(guān)學(xué)習(xí)推薦:javascript視頻教程
上篇文章給大家分析還原了某驗(yàn)滑動(dòng)的混淆代碼,然后后臺(tái)很多人在問后面的加密以及整個(gè)流程是啥,所以今天索性就把整個(gè)加密都弄出來(lái)吧
話不多說(shuō),時(shí)間寶貴,開干!
回到之前 w 的加密處

可以看到該函數(shù)接收了三個(gè)參數(shù)。調(diào)用棧往上追一下

還原后的代碼非常清晰,這三個(gè)參數(shù)就是 c, l, n["$_DAAD"], 仔細(xì)看代碼
_ = e ? n["lastPoint"]["x"] : t["$_CCAY"]() / a - n["$_DDHB"]u = e ? n["lastPoint"]["y"] : n["$_DDIm"] - t["$_CCBw"]() / a;復(fù)制代碼
不難猜出,這個(gè) _, u 分別對(duì)應(yīng)我們滑動(dòng)時(shí)候的 x, y 軸的坐標(biāo)。
你要是不相信,可以拿個(gè)尺子量一下(手動(dòng)狗頭)

第三個(gè)參數(shù),是滑動(dòng)的時(shí)間。所以關(guān)鍵在第二個(gè)參數(shù) l..
控制臺(tái)分別輸出看下是什么東東
后面兩個(gè)有木有很眼熟啊。就是前面請(qǐng)求返回的 data

那么關(guān)鍵點(diǎn)就剩下一個(gè)了,進(jìn)去瞅瞅

點(diǎn)擊進(jìn)去,就能進(jìn)入該函數(shù), 打上斷點(diǎn),重發(fā)請(qǐng)求

這個(gè) t 就是我們滑動(dòng)的一個(gè)軌跡…,通過這個(gè)函數(shù)將軌跡數(shù)組變成了一個(gè)字符串。
將函數(shù)扣下來(lái),前面那一坨數(shù)組賦值的可以刪掉,因?yàn)槲覀円呀?jīng)還原了,看著礙事

函數(shù)扣下來(lái)后試著運(yùn)行一下,缺啥補(bǔ)啥。萬(wàn)年不變的原則
繼續(xù)回到 l 的加密處。接下來(lái)是最外層的函數(shù)了,同樣的方法把加密函數(shù)拿下來(lái).

上面完成之后,W 加密函數(shù)的三個(gè)參數(shù)就湊齊了!
繼續(xù)后面的流程….都沒什么難度了,
把那幾個(gè)加密的函數(shù)拿出來(lái)就行了。

再把那些什么 AES Base64 都扣出來(lái)就完事了!
Js 加密部分基本上就都完成了,剩下的就是根據(jù) Network 中的請(qǐng)求流發(fā)請(qǐng)求就好了。