亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

javascript應用實例分析

發布時間:2022-05-05 17:03:52 來源:億速云 閱讀:150 作者:iii 欄目:大數據

這篇文章主要講解了“javascript應用實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript應用實例分析”吧!

javascript應用實例分析

遞歸方式+混淆+簡單扁平化

首先市面上有混淆工具可以達到這個效果,我自己也基于ast寫了一個混淆工具,扯遠了,我們來看下他這個都是數組方式讀取字符串,在源碼搜索的時候

我們發現了他初始化的位置,

javascript應用實例分析

因為他是動態解析的這個數組,我們只需要拿到他數組的成員放進去就行了,

javascript應用實例分析

其實我看到這里是很疑惑的,這個字符串竟然沒有加密碼,赤裸裸啊。

然后我們把字符串數組手動賦值之后我們拷貝這一段js到我寫的混淆還原工具來看看

javascript應用實例分析

沒壓力,瞬間還原,工具自動計算作用域替換的。然后我們粘貼到notepad看看

javascript應用實例分析

這么看的話基本上他的所有東西都出來了,萬事俱備,就差調試, 我們把這還原出來的js 替換上去,怎么替換呢,就是把昨天分析的ret = eval (偽代碼把這個直接拷貝上去就行了,這樣也方便調試。刷新之后debugger我們忘了處理,直接跳過算了,然后我們看到了這個

javascript應用實例分析

然后本著測試的精神,我又刷新了七八遍,發現一個問題

javascript應用實例分析

這個頁面我是和js一起保存的并沒有從服務器拉取最新的然是依舊可以正常使用,因為他有兩處,我們嘗試下這個

javascript應用實例分析

這段如果固定了js直接報錯,不固定正常加密,這就頭大了,因為這是一段加密后的字符串我們不管他是什么反正一會都要解密我們先不管。

到了現在我們可以固定的調試他的第一層解密出來的js,因為大家都知道他的url是hook過的,也就是業務和反爬是分開的,所以我們不需要刷新頁面來讓他走到斷點,我們可以這樣

javascript應用實例分析

我們在控制臺模擬他的其中一個接口然后回車

javascript應用實例分析

已經成功請求了,我們看他提交部分

javascript應用實例分析

到這里說明是任意的url,因為他是hook了ajax的api而他又是可以任意url不限制的,我們可以使用xhr斷點

javascript應用實例分析

點擊這個加號我們設置好他請求包含指定字符串的url就會斷下來

$.get("/tmrpToken.token")

然后控制臺回車

javascript應用實例分析

斷在了真正提交url的地方,我們看到他是this.send 

javascript應用實例分析

我們看到他的this就是XMLHttpRequest 對象,看到他的url已經完全計算好了

javascript應用實例分析

順著堆棧看,我們先看send,點進去我們把斷點下到這里,因為他的變量之類的是根據作用域算的,復雜的話從頭來算比較好,上層變量有可能會重疊

,下好斷點我們在重新提交一次

javascript應用實例分析

第二次提交我們可以看到非常干凈,我們按f10單步走

javascript應用實例分析

走到這一行我們發現url出現了

javascript應用實例分析

非常清楚他在231這個對象,我們往上看

javascript應用實例分析

他在這個函數執行完就有了我們進去這個函數下斷點看看

javascript應用實例分析

我們f10單步發現他直接最后了,再進去這個函數繼續_$7e

javascript應用實例分析

傳入三個參數

javascript應用實例分析

繼續單步

javascript應用實例分析

又一個_$p5,繼續

javascript應用實例分析

還是三個參數一樣,然后有個Function,我們摳出來看下

javascript應用實例分析

new一個函數然后傳進去三個參數,還是這三個參數

javascript應用實例分析

生成一個參數一調用參數二方法,傳入參數三我們看下這三個參數

javascript應用實例分析

我們可以直接這樣

javascript應用實例分析

打印出位置我們雙擊進去

javascript應用實例分析

斷點進去之后我們看

javascript應用實例分析

這個函數沒有什么蹊蹺,繼續走下去

javascript應用實例分析

this._$oM = arguments[1] = _$ok(arguments[1])[0];

隱藏的很深啊

javascript應用實例分析

我們跟進去這個函數

javascript應用實例分析

然后我們單步發現他走到這里就有結果了我們看下它穿的參數

javascript應用實例分析

姑且認為參數2有用,我們看下參數2那里出來的

javascript應用實例分析

參數2我們看下他的參數

javascript應用實例分析

var _$s2 = _$HW(_$59(_$qt("/tmrpToken.token")));

我們看看

_$qt

javascript應用實例分析

編碼剩下的不管他是什么 函數,到時候直接扣就行了,我們只分析

到現在我們看到了_$HW,_$59,_$6p這三個是加密用的,至于內部邏輯,先不管,先測試下能不能加密

javascript應用實例分析

把他單獨拿出來,然后寫一個加密函數

function url_encry(_$di){  var _$s2 = hm._$HW(hm._$59(encodeURIComponent("/tmrpToken.token")));  return hm._$6p(769, 0, _$s2, _$di);}

javascript應用實例分析

感謝各位的閱讀,以上就是“javascript應用實例分析”的內容了,經過本文的學習后,相信大家對javascript應用實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林周县| 泸水县| 皋兰县| 额济纳旗| 金阳县| 泰顺县| 大宁县| 灵山县| 观塘区| 会同县| 乌鲁木齐县| 武陟县| 文昌市| 佛坪县| 正定县| 长岭县| 株洲市| 江陵县| 彝良县| 始兴县| 化州市| 牟定县| 安宁市| 武宣县| 江永县| 凤山县| 富裕县| 双辽市| 巴马| 井研县| 嘉善县| 宝坻区| 万盛区| 周至县| 呼玛县| 榕江县| 阜南县| 康定县| 辽阳市| 铅山县| 双流县|