本篇文章給大家分享的是有關(guān)ua的逆向過程是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨桂免費(fèi)建站歡迎大家使用!
很久沒有發(fā)過文章了,并不是賬號忘記了,而是自己變懶了,還有就是現(xiàn)在的技術(shù)文,寫得再好都沒啥用,都是沒多少人看。還有那些看了我的文章的然后來加我微信的,一看文章什么的點(diǎn)個好看都沒,直接拒絕,和那些口口聲聲說對自己有多大幫助的也是這樣,所以就懶了,直接在自己小本子上記些簡要記錄就行了,反正也是自己看,不需要多好看。
所以這次發(fā)個記錄好了,不說任何代碼這些,看官們隨意。
123ua是從一個coll***.js文件加密的,看過的人應(yīng)該都知道,自從122更新之后,里面不止有恐怖的控制流混淆,還有逗號表達(dá)式,逗號表達(dá)式加了之后,不將這些逗號表達(dá)式變形,是很難調(diào)試的,基本也調(diào)試不了,我這里將代碼轉(zhuǎn)成ast,然后轉(zhuǎn)換代碼格式來還原的,如需了解ast的自己百度搜就行了,這里就不多說了。
我還原了 條件表達(dá)式、逗號表達(dá)式、字符串相加這三個,其他的由于個人技術(shù)有限,還原不了。
還原之后,就可以隨便調(diào)試了,里面也沒有 debugger,所以直接使用 fiddler 的重定向替換原文件,就可以直接在網(wǎng)站上調(diào)試了。這個才是第一步,之后的困難才是重重的。
由于這個如果還原代碼成非控制流的話,需要很多時間和精力,所以我為了方便,直接堆dom,這樣子下次更新的也不需要太怕,當(dāng)然你有時間能力還原當(dāng)然更好了。
堆dom之前首先需要在每個 catch 里面加個斷點(diǎn),因為有些函數(shù)或者屬性獲取不到直接報錯,不斷點(diǎn)的話或許就找不到了 。或者直接刪除try catch也行。
然后也將代碼本地跑,加上動態(tài)代理,打印出他們需要的dom屬性,不了解動態(tài)代理的可以看看海綿大神的這篇文章:js逆向之另類思路扣代碼
等將那些屬性補(bǔ)完了,登錄也能用了,但是登錄的話不知道會不會變成風(fēng)控號,自測,滑塊的話還需要很多東西,還有些動態(tài)代理搞不出來的,需要自己多跟跟代碼路程,或者你用自己的技巧搞搞。
接下來說下檢測的東西吧,window 的屬性的話,看到的大多數(shù)是 selenium 的屬性,那個 pyppeteer 的好像檢測少點(diǎn),如下:
var keys = ['WeixinJSBridge', 'WindVane', '__wxjs_environment', 'AlipayJSBridge', 'shenjian', 'ScriptEngineMinorVersion', 'ScriptEngineMajorVersion', 'ScriptEngineBuildVersion', 'ActiveXObject', '__$cdc7c2f8ab481c8964b__', 'UCCoreJava', 'ucapi', 'ApplePayError', 'ApplePaySession', '__acjs_awsc_123', '__acjs', '_uab_module', 'mozPaintCount', 'mozInnerScreenX', 'Debug', 'WebKitPlaybackTargetAvailabilityEvent', 'attachEvent']
里面也檢測了整個大函數(shù)的 toString,不一樣走的路徑完全不一樣。
還有就是里面很多 hasOwnProperty 和 getOwnPropertyDescriptors,不清楚的自己谷歌下,第二個難改點(diǎn),第一個比較容易,主要是找那些屬性在判斷這兩個東西,可以試試 hook。
剩下的就是軌跡了,軌跡也有個需要注意的點(diǎn),里面只記錄每個軌跡之間的時間差大于2毫秒才會記錄,所以需要停一下,要不然沒用。
我現(xiàn)在搞的軌跡是固定的,都可以過,如果不是頻繁的話,軌跡一直都有效,因為都是一直滑到底。
至此 ,ua就完畢了,如果你這個時候開心的話,那么,恭喜你,還有個幾萬行的文件需要看,也是和上面的差不多。
um這個文件,生成的是106data,但是這個文件檢測的東西不多,基本都是設(shè)備指紋,就是與canvas相關(guān)的,還有那些什么可支持插件之類的,不怎么檢測dom屬性。
這個文件有很多定時函數(shù),目的就是更新一些storage好像,還有就是這個umiToken,滑塊需要這個。
至此,ua和um,搞定了就可以過了,整了六天,電腦都快頂不住了。
以上就是ua的逆向過程是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。