echo094/decode-js
GitHub: echo094/decode-js
基于 Babel AST 的 JavaScript 反混淆工具,专注处理 obfuscator、sojson 等常见混淆器的代码还原。
Stars: 1010 | Forks: 393
# decode-js
基于 Babel 的 AST 分析器和处理器,可以处理以下情况:
* stringArray(包括添加了旋转操作,以及嵌套调用的情况)
* 死代码
* 控制流扁平化(switch)
* 局部代码变换(Object表达式、字符串分割等)
* 自定义代码(自保护,禁止控制台调试,禁止控制台输出)
基于 Babel 的 AST 分析器和处理器,可以处理以下情况:
* stringArray(包括旋转、包装器和链式调用)
* 死代码
* 控制流扁平化(switch)
* 转换器(Object表达式、字符串分割等)
* 自定义代码(自保护、调试保护、控制台输出)
## 使用说明
**如果在安装和运行过程中出现问题,请先排查 [isolated-vm](https://github.com/laverdet/isolated-vm?tab=readme-ov-file#requirements) 的安装和使用要求**
1. 准备一个 nodejs 环境(22.x 及以上版本)
2. 通过 `npm i` 安装依赖
3. 按如下方式运行插件:
```
# 预定义命令
npm run xxx
# 或完整命令
npm run decode -- -t type [-i input.js] [-o output.js]
```
`xxx` 为预定义的指令,见 [package.json](package.json) 中的 `scripts` 字段。
`type`:
* common(高频局部混淆)
* jjencode(sojson.com 版本)
* sojson
* sojsonv7
* obfuscator
默认输入文件为 `input.js`,文件中不能包含除混淆代码以外的内容(例如非混淆代码)。
默认输出文件为 `output.js`。
## 相关项目
* [cilame/v_jstools](https://github.com/cilame/v_jstools)
* [j4k0xb/webcrack](https://github.com/j4k0xb/webcrack)
* [NXY666/Jsjiemi](https://github.com/NXY666/Jsjiemi)
标签:Babel, CMS安全, DNS 反向解析, GNU通用公共许可证, isolated-vm, JavaScript, JJEncode, MITM代理, Node.js, Obfuscator.io, SoJson, Web安全, 云安全监控, 云资产清单, 代码反混淆, 代码混淆, 代码美化, 去壳, 字符串解密, 恶意代码分析, 控制流还原, 数据可视化, 死代码消除, 网络安全, 脚本解密, 自动化payload嵌入, 自动化处理, 自定义脚本, 蓝队分析, 解密, 逆向工程, 配置文件, 隐私保护, 静态分析