mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-16 16:07:15 +08:00
27 lines
795 B
JavaScript
27 lines
795 B
JavaScript
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);
|
|
|
|
const callToLiteral =
|
|
{
|
|
Call2Expression(path) {
|
|
console.log(path)
|
|
}
|
|
};
|
|
|
|
traverse(ast, callToLiteral);
|
|
|
|
let {code} = generator(ast, opts = {jsescOption: {"minimal": true}});
|
|
|
|
fs.writeFile(decodeFile, code, (err) => {
|
|
}); |