From 351c00433f73712ea606dbf60db97f32ca0ab34e Mon Sep 17 00:00:00 2001 From: aiyingfeng Date: Tue, 18 Jul 2023 17:03:43 +0800 Subject: [PATCH] =?UTF-8?q?AST=E6=93=8D=E4=BD=9C=E4=B9=8B=E8=8E=B7?= =?UTF-8?q?=E5=BE=97=E5=BD=93=E5=89=8D=E8=8A=82=E7=82=B9=E7=9A=84=E6=BA=90?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.AST操作之获得当前节点的源代码/RADME.md | 33 +++++++++++++++++++ .../decode_obfuscator.js | 21 ++++++++++++ .../8.AST操作之获得当前节点的源代码/encode.js | 1 + .../sql/baiyin/eb_supports_baiyin.sql | 7 ++-- 4 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 AST抽象语法树/8.AST操作之获得当前节点的源代码/RADME.md create mode 100644 AST抽象语法树/8.AST操作之获得当前节点的源代码/decode_obfuscator.js create mode 100644 AST抽象语法树/8.AST操作之获得当前节点的源代码/encode.js diff --git a/AST抽象语法树/8.AST操作之获得当前节点的源代码/RADME.md b/AST抽象语法树/8.AST操作之获得当前节点的源代码/RADME.md new file mode 100644 index 0000000..772cc48 --- /dev/null +++ b/AST抽象语法树/8.AST操作之获得当前节点的源代码/RADME.md @@ -0,0 +1,33 @@ +# AST操作之获得当前节点的源代码 + +path: path.toString() + +node: generator(node).code; + +```javascript +const fs = require('fs'); +const {parse} = require("@babel/parser"); +const traverse = require("@babel/traverse").default; +const generator = require("@babel/generator").default; +let encode_file = "./encode.js"; + +let js_code = fs.readFileSync(encode_file, {encoding: "utf-8"}); +let ast = parse(js_code, { + sourceType: 'module', +}); + +const visitor = { + VariableDeclarator(path) { + console.log(path.toString()) + let {code} = generator(path.node); + console.log(code) + }, +} + +traverse(ast, visitor); +``` + +输出: + + a = 123 + a = 123 diff --git a/AST抽象语法树/8.AST操作之获得当前节点的源代码/decode_obfuscator.js b/AST抽象语法树/8.AST操作之获得当前节点的源代码/decode_obfuscator.js new file mode 100644 index 0000000..1c5cd11 --- /dev/null +++ b/AST抽象语法树/8.AST操作之获得当前节点的源代码/decode_obfuscator.js @@ -0,0 +1,21 @@ +const fs = require('fs'); +const {parse} = require("@babel/parser"); +const traverse = require("@babel/traverse").default; +const generator = require("@babel/generator").default; +let encode_file = "./encode.js"; + +let js_code = fs.readFileSync(encode_file, {encoding: "utf-8"}); +let ast = parse(js_code, { + sourceType: 'module', +}); + +const visitor = { + VariableDeclarator(path) { + console.log(path.toString()) + let {code} = generator(path.node); + console.log(code) + }, +} + +traverse(ast, visitor); + diff --git a/AST抽象语法树/8.AST操作之获得当前节点的源代码/encode.js b/AST抽象语法树/8.AST操作之获得当前节点的源代码/encode.js new file mode 100644 index 0000000..9d69cb3 --- /dev/null +++ b/AST抽象语法树/8.AST操作之获得当前节点的源代码/encode.js @@ -0,0 +1 @@ +var a = 123; \ No newline at end of file diff --git a/抖音js逆向学习/抖店精选联盟数据/sql/baiyin/eb_supports_baiyin.sql b/抖音js逆向学习/抖店精选联盟数据/sql/baiyin/eb_supports_baiyin.sql index fc86503..9d2e4ce 100644 --- a/抖音js逆向学习/抖店精选联盟数据/sql/baiyin/eb_supports_baiyin.sql +++ b/抖音js逆向学习/抖店精选联盟数据/sql/baiyin/eb_supports_baiyin.sql @@ -194,7 +194,7 @@ CREATE TABLE `clean_buyin_authorStatData_authorProfile` ( `act_info` varchar(255) DEFAULT '', `deduplication` varchar(100) DEFAULT '' COMMENT '去重字段', `spider_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬虫抓取时间', - UNIQUE KEY `task_id` (`deduplication`) USING BTREE, + UNIQUE KEY `account_douyin` (`account_douyin`) USING BTREE, KEY `uid` (`uid`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; @@ -230,8 +230,7 @@ CREATE TABLE `clean_buyin_authorStatData_seekAuthor` ( `author_tag_is_star` smallint(1) DEFAULT '0' COMMENT '是否明星', `deduplication` varchar(100) DEFAULT '' COMMENT '去重字段', `spider_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '爬虫抓取时间', - UNIQUE KEY `task_id` (`deduplication`) USING BTREE, - KEY `author_base_uid` (`author_base_uid`) USING BTREE + UNIQUE KEY `deduplication` (`deduplication`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; @@ -283,4 +282,4 @@ CREATE TABLE `project_buyin_authorStatData` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-07-13 12:09:55 +-- Dump completed on 2023-07-18 16:58:29