您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何進行網(wǎng)站js混淆結(jié)構(gòu)簡單分析,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
大家好,今天我們來講一個js混淆的手工分析還原思路。
它長這樣
經(jīng)過測試,他直接扣出來也能跑,不過我們看下他這個奇怪的混淆思路,我們分析然后記下來,方便我們以后寫混淆工具的時候作為其中一種方式,為我們所用。
因為他是一個閉包,所以我們直接看最后
最后會執(zhí)行一個V函數(shù)然后第一個傳一堆字符亂碼,第二個很明顯傳了一堆瀏覽器自帶的對象函數(shù),這種混淆屬實有點問題,把關鍵函數(shù)這么玩我們直接替換掉就ok。
我們分析一下他這個v入口在哪里
把這個閉包拷貝出來然后執(zhí)行
然后點這個,就可以定位到v函數(shù)位置
跳到了這里,這里就是V的入口,至于他怎么解密那個字符串亂碼我們不關心,暫時代碼能跑沒什么暗樁不需要分析,那我們看下他開頭的結(jié)構(gòu)
可以看到V申明是在這里,我們看下,首先從中間開始分析
我們可以通過括號來確定范圍,鼠標單擊一下谷歌這個開發(fā)者工具會高亮對應的
實際上js這個()里面的并不是{}作用域他只會返回最后一個對象,所以
這一大段只返回i這個函數(shù)
通過上個規(guī)則我們知道()中間的他只會返回最后一個(1,2,3,4)只會返回4也就是最后一個,我們接下來看下一個s
s是空數(shù)組,下一個
他所有的都是這個規(guī)律就不一一看了,我們知道,()括號無論有多少個只會返回一個,我們看開頭
鼠標點第一個看下他結(jié)尾
他最后是一個Z也就是說V這個函數(shù),這一大段執(zhí)行完會返回一個Z
那我們看一下Z這個函數(shù)在哪里
艾
Z是這里,返回最后一個是這里,是不是很眼熟
我們開頭直接定位到的就是這里,這樣我們就完整的分析了他這個混淆,現(xiàn)在看來是不是沒那么難了。
關于如何進行網(wǎng)站js混淆結(jié)構(gòu)簡單分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。