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

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

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

前言

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

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

一、加密分析

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

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

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

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

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

二、調(diào)試技巧

1、日志分析

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

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

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

2、常見算法

2.1)MD5

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

2.2)Base64

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

2.3)進制處理

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

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

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

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

總結(jié)

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

相關(guān)文章

最新評論