最近项目遇到很多使用jsjiami.com.v7的程序,使用AST方式(依赖Babel插件)实现的JS代码净化工具,包括常见的几种类型:字面量还原(全局、代码块),死代码清理、扁平化还原,条件、循环语句规范化,特殊函数清理,处理全局加密内容时使用VM2提供的环境。需要自己封装一下。

jsjiami.com.v7离线解密工具-详细教程 第5张插图

需要node.js环境,并安装依赖:npm i。

调用方法:

# pre-defined command
npm run xxx

npm run decode -- -t type [-i input.js] [-o output.js]

xxx为预定义的指令,见package.json中的scripts字段。

type列表:

common (高频局部混淆)
jjencode (sojson.com 版本)
sojson
sojsonv7
obfuscator

默认输入文件为input.js,文件中不能包含除混淆代码以外的内容(例如非混淆代码,注释除外),且只能包含一段混淆代码(一次处理只能识别一个主加密函数)。

默认输出文件为output.js。

程序入口文件为:src/main.js,插件目录为src/plugin。