中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

JS逆向某驗(yàn)滑動(dòng)加密的分析-創(chuàng)新互聯(lián)

小編給大家分享一下JS逆向某驗(yàn)滑動(dòng)加密,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),吉縣企業(yè)網(wǎng)站建設(shè),吉縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,吉縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,吉縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

AST 還原

通過調(diào)試可以看到有大量的 unicode 格式的編碼以及數(shù)組名稱的混淆

傳統(tǒng)解決方法是在瀏覽器 console 端輸入就能看到它的廬山真面目,但是這種方法太麻煩了,接下來我們用 AST 來將其還原!

首先還原 unicode 編碼,打開 AST 在線解析網(wǎng)站(https://blogz.gitee.io/ast/[1])

將待還原的代碼放進(jìn)去

可以看到只需要把 extra 屬性刪掉就能還原原來的值。遍歷代碼如下:

const parser = require("@babel/parser");const traverse = require("@babel/traverse").default;const t = require("@babel/types");  //操作節(jié)點(diǎn)的函數(shù),比如判斷節(jié)點(diǎn)類型,生成新的節(jié)點(diǎn)等:const generator = require("@babel/generator").default;  //生成還原后的代碼const fs = require('fs');var jscode = fs.readFileSync("./slide.js", {    encoding: "utf-8"});const visitor = {        StringLiteral(path) {                delete path.node.extra            }}let ast = parser.parse(jscode);traverse(ast, visitor);let {code} = generator(ast, opts = {jsescOption: {"minimal": true}});fs.writeFile('decode_slide.js', code, (err)=>{});復(fù)制代碼

注意 jscode 就是之前扣下來的 JS 代碼, 最后將還原后的代碼寫入到 decode_slide.js 文件中

接下來是混淆數(shù)組的還原。觀察調(diào)試代碼,所有的數(shù)組都是基于 JS 文件中開頭的大數(shù)組 KBBji.$_Co,同時(shí)將該數(shù)組賦值給很多變量,這些變量名都是隨機(jī)生成的。

所以接下來我們要做的找出這些變量名稱,然后將其替換成對(duì)應(yīng)的字符串值!

AST 在線解析一下

根據(jù)解析結(jié)果,編寫相應(yīng)的遍歷代碼

const visitor = {    VariableDeclaration(path){        const {declarations} = path.node;        if(!t.isMemberExpression(declarations[0].init))return;        if(declarations[0].init.property.name !== "$_Co")return;        if(declarations.length !==3 || declarations[0].init.property === undefined)return;        let value1 = declarations[0].id.name;        let value2 = declarations[2].id.name;        new_array.push(value1, value2);    }};復(fù)制代碼

上面就將所有的變量名找出來了,找到之后就能將所有的這種形式 $_DFCB(66) 代碼還原了,這樣代碼就能有個(gè)直觀感受!

相信聰明的你很快就能寫出還原的代碼。經(jīng)過上面幾步整體還原后的代碼是這樣的

根據(jù)關(guān)鍵詞很快就能搜索到加密所在位置,清晰可見!如果不還原你是搜不到的.. 還原后在網(wǎng)站上我們也能很快定位到加密位置,打上斷點(diǎn)

同樣的代碼可讀性相差多大,相信你一眼就能看到。你以為這樣就完了?No!

Reres 替換

既然代碼已經(jīng)還原了,但是我們?cè)诰W(wǎng)站上調(diào)試的時(shí)候還是混淆的代碼,那怎么辦呢?

接下來上另一個(gè)神器 Reres, 它的作用是將請(qǐng)求映射到本地,即你可以用本地 JS 來代替遠(yuǎn)程 JS 文件。

用法直接參考它的 github https://github.com/annnhan/ReRes[2]

好了有了這個(gè)東西,我們就能在網(wǎng)站上用還原后的 JS 來進(jìn)行調(diào)試,太強(qiáng)了把!

效果如下:

tql,這下加密參數(shù)扣起來就沒壓力了吧!

后臺(tái)回復(fù) tql 獲取相關(guān)代碼!

看完了這篇文章,相信你對(duì)JS逆向某驗(yàn)滑動(dòng)加密有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:JS逆向某驗(yàn)滑動(dòng)加密的分析-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.rwnh.cn/article6/cepiig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)移動(dòng)網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)靜態(tài)網(wǎng)站、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
巴林左旗| 德昌县| 普陀区| 阿瓦提县| 商丘市| 汉源县| 万源市| 比如县| 年辖:市辖区| 沙河市| 宁晋县| 若羌县| 荥经县| 孟村| 武威市| 中超| 璧山县| 嘉定区| 大埔区| 万盛区| 永仁县| 马龙县| 那坡县| 博爱县| 武鸣县| 凉城县| 井陉县| 阿克| 临汾市| 德安县| 大渡口区| 开封县| 太保市| 辽宁省| 衡东县| 乐清市| 河间市| 临西县| 喀喇沁旗| 慈利县| 扶沟县|