AST解混淆

示例: 智慧树
将混淆js复制保存到en.js文本中,语言选择JavaScript。
通过对文件分析得出

_0x1e77这个函数就是这个混淆JS 加密字符串的解密函数

折叠所有视图(ctrl+0)
在这里插入图片描述
未格式化的解密函数复制出来到ob.js文件中

const fs = require("fs");
const esprima = require("esprima");  // ECMAScript(JavaScript) 解析架构,主要用于多用途分析。
const estraverse = require("estraverse");  // 语法树遍历辅助库(提供了两个静态方法,estraverse.traverse 和 estraverse.replace,前者单纯遍历AST的节点,通过返回值控制是否继续遍历到叶子结点; 而 replace 方法则可以在遍历的过程中直接修改 AST,实现代码重构功能。)
const escodegen = require("escodegen"); // AST的 ECMAScript(JavaScript) 代码生成器
const iconv = require("iconv-lite");

//读取加密混淆的执行函数js
var content = fs.readFileSync('./en.js',{encoding:'binary'});
var buf = new Buffer.from(content,'binary');
var code = iconv.decode(buf,'utf-8');

//将混淆后的执行函数JS转换为AST
var ast = esprima.parse(code);


//解密函数(未格式化)




//字符串解密
var ast = esprima.parse(code);
ast = estraverse.replace(ast,{
    enter: function (node) {
        if(node.type == 'CallExpression' &&
            node.callee.type == 'Identifier' &&
            node.callee.name == '_0x7969' &&
            node.arguments[0].type == 'Literal')
        {   if(node.arguments.length == 1){
                var val = _0x7969(node.arguments[0].value);
                return {
                    type: esprima.Syntax.Literal,
                    value: val,
                    raw: val
                }
        }else{
            if(node.arguments.length == 2){
                var val = _0x7969(node.arguments[0].value, node.arguments[1].value);
                return {
                    type: esprima.Syntax.Literal,
                    value: val,
                    raw: val
                }
            }
        }

        }
    }
})
code = escodegen.generate(ast)
console.log(code)
try{
    var a =fs.writeFileSync('./de.js', code)
    console.log(a)
  //文件写入成功。
} catch (err) {
  console.error(err)
}

注意替换字符串解密中的解密函数名
运行ob.js得到解混淆后的js代码
发生错误时可以尝试删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装AST混淆的具体步骤如下: 1. 首先,下载并安装Java开发工具包(JDK)。AST混淆工具是基于Java的,所以您需要先安装JDK并将其配置到系统环境变量中。 2. 下载并安装AST混淆工具。您可以在AST混淆工具的官方网站或代码托管平台上找到安装包,并按照提供的指示进行安装。 3. 打开AST混淆工具的安装目录,并找到主程序的可执行文件。 4. 配置AST混淆工具。在主程序的安装目录中,找到配置文件并打开它。根据您的需求,配置文件中的选项包括输入文件路径、输出文件路径、混淆算法选择等。根据您的实际需求,修改这些选项。 5. 使用AST混淆工具进行混淆。在命令行或终端中导航到AST混淆工具的安装目录,并执行主程序的可执行文件。根据您在配置文件中设置的选项,输入需要混淆的文件路径,并选择适当的混淆算法。然后,执行混淆命令。 6. 等待混淆过程完成。根据您需要混淆的文件大小和复杂性,混淆过程可能需要一些时间。请耐心等待,直到混淆过程完成。 7. 检查混淆结果。混淆工具通常会生成一个混淆后的文件,并将其保存到您在配置文件中指定的输出路径中。您可以打开该文件以查看混淆结果,并验证其有效性。 总之,安装AST混淆工具的过程大致分为下载安装、配置选项、执行混淆命令和检查结果等步骤。请按照以上步骤操作,以完成安装和使用AST混淆工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LI4836

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值