From 46c44c676c47f4d7f14283cd08939f627ea252eb Mon Sep 17 00:00:00 2001 From: aiyingfeng Date: Wed, 23 Aug 2023 18:44:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=BF=E4=BA=BA=E5=AD=A6=E7=AC=AC16=E9=A2=98?= =?UTF-8?q?-webpack-=E8=B0=83=E8=AF=95=E8=B7=B3=E8=BD=AC-=E6=8C=87?= =?UTF-8?q?=E7=BA=B9-window=E5=88=A0=E9=99=A4=E9=99=B7=E9=98=B1-=E7=BA=AF?= =?UTF-8?q?=E6=89=8B=E6=92=95=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../猿人学第16题-调试跳转-指纹-window删除陷阱/ast.js | 51 ------------------- 1 file changed, 51 deletions(-) delete mode 100644 猿人学Web端爬虫攻防刷题平台/猿人学第16题-调试跳转-指纹-window删除陷阱/ast.js diff --git a/猿人学Web端爬虫攻防刷题平台/猿人学第16题-调试跳转-指纹-window删除陷阱/ast.js b/猿人学Web端爬虫攻防刷题平台/猿人学第16题-调试跳转-指纹-window删除陷阱/ast.js deleted file mode 100644 index 7b1b954..0000000 --- a/猿人学Web端爬虫攻防刷题平台/猿人学第16题-调试跳转-指纹-window删除陷阱/ast.js +++ /dev/null @@ -1,51 +0,0 @@ -const fs = require('fs'); -const parser = require("@babel/parser"); -const traverse = require("@babel/traverse").default; -const types = require("@babel/types"); -const generator = require("@babel/generator").default; - -process.argv.length > 2 ? encodeFile = process.argv[2] : encodeFile = "./encode.js"; -process.argv.length > 3 ? decodeFile = process.argv[3] : decodeFile = "./decodeResult.js"; - -let sourceCode = fs.readFileSync(encodeFile, {encoding: "utf-8"}); -let ast = parser.parse(sourceCode); - -_0x34e7 = ["AqLWq", "0zyxwvutsr", "TKgNw", "eMnqD", "thjIz", "btoa", "MNPQRSTWXY", "oPsqh", "niIlq", - "evetF", "LVZVH", "fYWEX", "kmnprstwxy", "aYkvo", "tsrqpomnlk", "HfLqY", "aQCDK", "lGBLj", "test", - "3210zyxwvu", "QWK2Fi", 'return /" ', "hsJtK", "jdwcO", "SlFsj", "OWUOc", "LCaAn", "[^ ]+)+)+[", - "FAVYf", "2Fi+987654", "floor", "join", "EuwBW", "OXYrZ", "charCodeAt", "SkkHG", "iYuJr", "GwoYF", - "kPdGe", "cVCcp", "INQRH", "INVALID_CH", "charAt", "push", "apply", "lalCJ", "kTcRS", '+ this + "', - "ykpOn", "gLnjm", "gmBaq", "kukBH", "dvEWE", "SFKLi", "^([^ ]+( +", "qpomnlkjih", "^ ]}", "pHtmC", - "length", "split", "ABHICESQWK", "FKByN", "U987654321", "lmHcG", "dICfr", "Szksx", "Bgrij", "iwnNJ", - "jihgfdecba", "GfTek", "gfdecbaZXY", "constructo", "QIoXW", "jLRMs" -]; -l = function (e, t) { - return _0x34e7[e -= 188] -}; - -const callToLiteral = - { - CallExpression(path) { - let {callee, arguments} = path.node; - if (!types.isIdentifier(callee) || arguments.length != 1) { - return; - } - - let name = callee.name; - - if (!['e', 't', 'o', 'u'].includes(name) || !types.isNumericLiteral(arguments[0])) { - return 0; - } - - let value = l(arguments[0].value); - path.replaceWith(types.valueToNode(value)); - } - }; - -traverse(ast, callToLiteral); - - -let {code} = generator(ast, opts = {jsescOption: {"minimal": true}}); - -fs.writeFile(decodeFile, code, (err) => { -}); \ No newline at end of file