From a0b319a350514ea65441aa0a3da92fcc8aad5552 Mon Sep 17 00:00:00 2001 From: cilame Date: Thu, 16 Dec 2021 21:39:04 +0800 Subject: [PATCH] add --- tools/babel_asttool.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/babel_asttool.js b/tools/babel_asttool.js index 8ea98a5..65357a1 100644 --- a/tools/babel_asttool.js +++ b/tools/babel_asttool.js @@ -33159,11 +33159,18 @@ function muti_process_defusion(jscode){ function muti_process_sojsondefusion(jscode){ var ast = parser.parse(jscode); + if (ast.program.body.length == 1){ + ast.program.body = ast.program.body[0].expression.callee.body + } + // ob 解混淆处理部分 ast = get_sojson_enc(ast) ast = pas_sojson_enc(ast) traverse(ast, {BinaryExpression: {exit: calcBinary}}) traverse(ast, {VariableDeclarator: {exit: MergeObj},}); // 可能出问题(不可通用) + traverse(ast, {VariableDeclarator: {exit: MergeObj},}); // 可能出问题(不可通用)// 该函数重复数次,为了兼容旧的ob混淆版本 + traverse(ast, {VariableDeclarator: {exit: MergeObj},}); // 可能出问题(不可通用) + traverse(ast, {VariableDeclarator: {exit: MergeObj},}); // 可能出问题(不可通用) traverse(ast, {BinaryExpression: {exit: calcBinary}}) traverse(ast, {VariableDeclarator: {exit: CallToStr},}); // 可能出问题(不可通用) traverse(ast, {IfStatement: ClearDeadCode}); // 清理死代码,这里不清理可能会导致错误