mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-16 16:07:15 +08:00
AST操作之API用法-node节点
This commit is contained in:
parent
e6a72aae27
commit
c1afbed128
1
AST抽象语法树/6.AST操作之API用法-node节点/decode.js
Normal file
1
AST抽象语法树/6.AST操作之API用法-node节点/decode.js
Normal file
@ -0,0 +1 @@
|
||||
var a = 123;
|
21
AST抽象语法树/6.AST操作之API用法-node节点/decode_obfuscator.js
Normal file
21
AST抽象语法树/6.AST操作之API用法-node节点/decode_obfuscator.js
Normal file
@ -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',
|
||||
});
|
||||
|
||||
traverse(ast, {
|
||||
NumericLiteral(path) {
|
||||
path.replaceWith(
|
||||
parse(3).program.body[0].expression
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
const output = generator(ast).code;
|
||||
console.log(output);
|
1
AST抽象语法树/6.AST操作之API用法-node节点/encode.js
Normal file
1
AST抽象语法树/6.AST操作之API用法-node节点/encode.js
Normal file
@ -0,0 +1 @@
|
||||
var a = 123;
|
Loading…
x
Reference in New Issue
Block a user