目标网站:
a04a7c5e14846edd70e5bb4c4ba8a69aa947a5c001dac7cfeff16c1db3a152389b76b67b89c670a2baf3dffa5fb54d7ead18604d550b6ebff3e432102e08d976
刷新,在fidder和开发者工具去搜索,发现搜不到,然后一看如下:明显转码了。
这里的解决方法是,先安装ast环境,npm init的时候一定要加上
这里一定要加类型,然后添加环境
然后转换代码:
- //dec_main.js
- import { parse } from "@babel/parser";
- import generate from "@babel/generator";
- import * as types from "@babel/types";
- import traverse from "@babel/traverse";
- import fs from "fs";
- //读取js文件
- const jscode = fs.readFileSync('./democode.js', "utf-8");
- let ast = parse(jscode);//js转ast
- function decry_str(ast) {
- //数字与字符还原
- traverse.default(ast, {
- 'StringLiteral|NumericLiteral|DirectiveLiteral'(path) {//迭代字符串|迭代数组匹配--16进制文本还原
- delete path.node.extra; //删除节点的额外部分-触发原始值处理
- },
- });
- return ast;
- }
- ast = decry_str(ast)//进制数字还原与字符还原
- let {code} = generate.default(ast,{jsescOption:{"minimal":true}})
- //文件保存
- fs.writeFile('./demoNew.js', code, (err) => {
- });