基于 Babel 的 AST 分析器和处理器,可以处理以下情况:
- stringArray(包括添加了旋转操作,以及嵌套调用的情况)
 - 死代码
 - 控制流扁平化(switch)
 - 局部代码变换(Object表达式、字符串分割等)
 - 自定义代码(自保护,禁止控制台调试,禁止控制台输出)
 
An AST analyzer and processor based on Babel that can handle the following situations:
- stringArray (including Rotate, Wrappers, and ChainedCalls)
 - deadCode
 - controlFlowFlattening (switch)
 - transformer (ObjectExpression, SplitString, and etc.)
 - customCode (self-defending, debug-protection, console-output)
 
如果在安装和运行过程中出现问题,请先排查isolated-vm的安装和使用要求
If problems occur during installation and execution, please check the requirements of isolated-vm first
- 
准备一个nodejs环境 (18.x以上)
Prepare a nodejs environment (>=18.x)
 - 
通过
npm i安装依赖Install the dependencies via
npm i - 
按如下方式运行插件:
Run the plugins as follows:
 
# pre-defined command
npm run xxx
# or full command
npm run decode -- -t type [-i input.js] [-o output.js]xxx为预定义的指令,见package.json中的scripts字段。
xxx are predefined commands, see the scripts field in package.json.
type:
- common (高频局部混淆)
 - jjencode (sojson.com 版本)
 - sojson
 - sojsonv7
 - obfuscator
 
默认输入文件为input.js,文件中不能包含除混淆代码以外的内容(例如非混淆代码)。
The default input file is input.js. The file cannot contain additional codes other than obfuscated code (such as non-obfuscated code).
默认输出文件为output.js。
The default output file is output.js.