JavaScript逆向調(diào)試技巧總結(jié)分享
前言
前段時間嘗試對某音的 PC 端進(jìn)行了逆向,目前已經(jīng)全部逆向出來了,在這里總結(jié)下一些調(diào)試技巧和總結(jié)。
本文不會涉及任何的詳細(xì)代碼,僅僅是作為技術(shù)來討論。
一、加密分析
在這里以賬戶下的視頻列表為例,可以看到,在 dy 中,加密的 JS 是 webmssdk.js,其中最主要的加密參數(shù)有以下兩個

在 Postman 中進(jìn)行測試,發(fā)現(xiàn)這兩個參數(shù)缺一不可,所以逆向過程就是對這兩個參數(shù)進(jìn)行分析。
_signature 是由兩部分組成,一部分是由 X-Bogus 生成,記為 a。一部分則是根據(jù)后端的一個接口動態(tài)下發(fā)數(shù)據(jù),進(jìn)行加密拼接在 a 后面,然后再根據(jù)(a + b) 一起生成一個 c,再截取拼接在(a + b)之后。
所以 _signature = a + b + 截取后的 c
整體上逆向難度比較大,如果感興趣的可以嘗試去分析下,本文就不詳細(xì)說了。
二、調(diào)試技巧
1、日志分析
在 chrome 中,如果有一段代碼比較難以分析,可以通過插樁分析,具體就是打「日志」
一般情況下,通過日志的分析,可以看到代碼的運(yùn)行情況,然后再根據(jù)代碼的運(yùn)行日志,找出可疑點,進(jìn)行「條件斷點」,一步一步調(diào)試基本上就可以找出其中的算法。

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

2、常見算法
2.1)MD5
其中如果遇到一些 32 位長度的字符串,那么很可能是 MD5 加密算法得到的,因此對這一類的數(shù)據(jù)必須要重視起來,其中可以多嘗試,還有一種可能會「加鹽」處理,所以遇到 32 或者 16 位字符串,可以多次驗證。
2.2)Base64
如果一個數(shù)據(jù)是由 Base64 編碼得到的,那么在代碼中一定會出現(xiàn)的一個字符串是 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",如果出現(xiàn)了這個字符串,就很可能是 Base64 編碼處理了
2.3)進(jìn)制處理
常見的進(jìn)制處理是 16 轉(zhuǎn) 10 進(jìn)制,或者是 10 轉(zhuǎn) 16 進(jìn)制,對這一部分?jǐn)?shù)據(jù)一定要敏感。如果發(fā)現(xiàn)有一些可疑的數(shù)據(jù)轉(zhuǎn)換,可以嘗試看看是不是做了進(jìn)制處理
三、Chrome 調(diào)試技巧
善用堆棧分析,有很多的邏輯處理,都是可以通過堆棧進(jìn)行逆推出來的,如果遇到不知道的邏輯,嘗試看下堆棧會有一定的幫助。
XHR 的提取斷點也可以多嘗試下,可以直接定位到參數(shù)生成的地方,非常的方便

總結(jié)
到此這篇關(guān)于JavaScript逆向調(diào)試技巧的文章就介紹到這了,更多相關(guān)JS逆向調(diào)試技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS中for,for...in,for...of和forEach的區(qū)別和用法實例
JS遍歷數(shù)組(循環(huán)數(shù)組)的方式有多種,可以使用傳統(tǒng)的for循環(huán),也可以使用升級版的for in循環(huán),還可以使用Array類型的forEach() 方法,這篇文章主要給大家介紹了關(guān)于JS中for、for...in、for...of和forEach的區(qū)別和用法的相關(guān)資料,需要的朋友可以參考下2021-11-11
JavaScript中textRange對象使用方法小結(jié)
這篇文章主要介紹了JavaScript中textRange對象使用方法小結(jié),需要的朋友可以參考下2015-03-03
JavaScript判斷訪問的來源是手機(jī)還是電腦,用的哪種瀏覽器
這篇文章主要介紹了使用JavaScript判斷訪問的來源是手機(jī)還是電腦,用的哪種瀏覽器。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
JavaScript數(shù)據(jù)可視化:ECharts制作地圖
這篇文章主要介紹了Echarts實現(xiàn)可視化地圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議
這篇文章主要介紹了性能優(yōu)化篇之Webpack構(gòu)建代碼質(zhì)量壓縮的建議,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04

