欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript逆向調(diào)試技巧總結(jié)分享

 更新時(shí)間:2022年06月10日 11:26:44   作者:Somnus  
當(dāng)我們抓取網(wǎng)頁(yè)端數(shù)據(jù)時(shí),經(jīng)常被加密參數(shù)、加密數(shù)據(jù)所困擾,如何快速定位這些加解密函數(shù),尤為重要,下面這篇文章主要給大家介紹了關(guān)于JavaScript逆向調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下

前言

前段時(shí)間嘗試對(duì)某音的 PC 端進(jìn)行了逆向,目前已經(jīng)全部逆向出來(lái)了,在這里總結(jié)下一些調(diào)試技巧和總結(jié)。

本文不會(huì)涉及任何的詳細(xì)代碼,僅僅是作為技術(shù)來(lái)討論。

一、加密分析

在這里以賬戶下的視頻列表為例,可以看到,在 dy 中,加密的 JS 是 webmssdk.js,其中最主要的加密參數(shù)有以下兩個(gè)

在 Postman 中進(jìn)行測(cè)試,發(fā)現(xiàn)這兩個(gè)參數(shù)缺一不可,所以逆向過(guò)程就是對(duì)這兩個(gè)參數(shù)進(jìn)行分析。

_signature 是由兩部分組成,一部分是由 X-Bogus 生成,記為 a。一部分則是根據(jù)后端的一個(gè)接口動(dòng)態(tài)下發(fā)數(shù)據(jù),進(jìn)行加密拼接在 a 后面,然后再根據(jù)(a + b) 一起生成一個(gè) c,再截取拼接在(a + b)之后。

所以 _signature = a + b + 截取后的 c

整體上逆向難度比較大,如果感興趣的可以嘗試去分析下,本文就不詳細(xì)說(shuō)了。

二、調(diào)試技巧

1、日志分析

在 chrome 中,如果有一段代碼比較難以分析,可以通過(guò)插樁分析,具體就是打「日志」

一般情況下,通過(guò)日志的分析,可以看到代碼的運(yùn)行情況,然后再根據(jù)代碼的運(yùn)行日志,找出可疑點(diǎn),進(jìn)行「條件斷點(diǎn)」,一步一步調(diào)試基本上就可以找出其中的算法。

其中可以通過(guò) v_jstoools 進(jìn)行「僅變量壓縮」,然后得到一份比較容易看的源代碼。

2、常見算法

2.1)MD5

其中如果遇到一些 32 位長(zhǎng)度的字符串,那么很可能是 MD5 加密算法得到的,因此對(duì)這一類的數(shù)據(jù)必須要重視起來(lái),其中可以多嘗試,還有一種可能會(huì)「加鹽」處理,所以遇到 32 或者 16 位字符串,可以多次驗(yàn)證。

2.2)Base64

如果一個(gè)數(shù)據(jù)是由 Base64 編碼得到的,那么在代碼中一定會(huì)出現(xiàn)的一個(gè)字符串是 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",如果出現(xiàn)了這個(gè)字符串,就很可能是 Base64 編碼處理了

2.3)進(jìn)制處理

常見的進(jìn)制處理是 16 轉(zhuǎn) 10 進(jìn)制,或者是 10 轉(zhuǎn) 16 進(jìn)制,對(duì)這一部分?jǐn)?shù)據(jù)一定要敏感。如果發(fā)現(xiàn)有一些可疑的數(shù)據(jù)轉(zhuǎn)換,可以嘗試看看是不是做了進(jìn)制處理

三、Chrome 調(diào)試技巧

善用堆棧分析,有很多的邏輯處理,都是可以通過(guò)堆棧進(jìn)行逆推出來(lái)的,如果遇到不知道的邏輯,嘗試看下堆棧會(huì)有一定的幫助。

XHR 的提取斷點(diǎn)也可以多嘗試下,可以直接定位到參數(shù)生成的地方,非常的方便

總結(jié)

到此這篇關(guān)于JavaScript逆向調(diào)試技巧的文章就介紹到這了,更多相關(guān)JS逆向調(diào)試技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論