# minusone 脚本去混淆引擎

> Airbus CERT 开发的 Rust 脚本去混淆引擎：用 tree-sitter 解析 PowerShell 或 JavaScript，应用一组推断语法树节点取值的规则，再输出化简后的脚本。PowerShell 规则可折叠算术与字符串运算、类型转换、-join、-replace 和格式化运算符、Base64 与 UTF 解码、可预测的变量和循环；当数据和密钥都在脚本中时，还能还原 Gzip 或 Deflate 流以及 AES 解密。较新的 JavaScript 规则涵盖字面量、运算符、字符串与数组内置方法、atob 与 btoa、Buffer 调用、可预测的函数调用以及 JSFuck 写法。命令行工具可列出、选用或跳过规则，并把每一步改写导出为 HTML 或 JSON；Python 和 WebAssembly 绑定可嵌入该引擎，README 中链接的在线版本即基于此。

- 类型：工具
- 目标：网站
- 类别：网站分析工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/airbus-cert/minusone>
- 一手来源：<https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/minusone-script-deobfuscator/>
- 记录 JSON：<https://awesomerea.org/resources/minusone-script-deobfuscator/record.json>
- 英文版：[English](https://awesomerea.org/resources/minusone-script-deobfuscator/index.md)

## 使用条件与局限

- 没有预编译的命令行二进制：最新的 GitHub 版本 v0.4.2 发布于 2025-10-01，未附带任何文件；已发布的软件包有 crates.io 上的 minusone 0.4.1、PyPI 上提供 Linux x86_64 与 Windows wheel 的 pyminusone 0.4.1，以及 npm 上的 minusonejs 0.5.0。所审阅的 main 提交比 v0.4.2 多 538 个提交，核心库声明版本为 0.5.0，minusone-cli 为 0.6.1。
- 使用 Cargo 构建；各 crate 采用 Rust 2024 版次，仓库未提交 Cargo.lock，PowerShell 语法来自一个 tree-sitter-powershell 分支的 Git 依赖，未固定版本。命令行工具需指定 --lang powershell 或 --lang javascript。项目的 devenv/Nix 开发环境使用 nightly Rust；Python 绑定用 maturin 构建，WebAssembly 模块以 wasm32-wasip2 为目标，并用 jco 转译为 JavaScript。
- README 仍只把 PowerShell 列为受支持语言，把基础 JavaScript 支持列为路线图项目，规则文件链接也仍指向旧的 src/ 路径；JavaScript 后端始于 2026 年 3 月，晚于 crates.io 和 PyPI 软件包以及 v0.4.2 版本。规则依据可推断出的值对脚本做静态改写，待分析的脚本由分析者自行提供；samples 目录中只有少量 JSFuck 测试文件及其对应的明文源码。
- CI 运行 devenv test，即执行 cargo test 和 Python 绑定的测试脚本；核心库对两种语言都有单元测试。采用 MIT 许可；Cargo 元数据将作者列为 Airbus CERT，LICENSE 中的版权行署名为 Sylvain Peyrefitte。

## 一手来源

1. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/README.md>
2. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/core/src/ps/mod.rs>
3. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/core/src/js/mod.rs>
4. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/core/src/ps/compression.rs>
5. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/core/src/ps/crypto.rs>
6. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/crates/minusone-cli/src/cli.rs>
7. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/core/Cargo.toml>
8. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/crates/minusone-cli/Cargo.toml>
9. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/crates/minusonejs/justfile>
10. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/devenv.nix>
11. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/.github/workflows/cargo_test.yml>
12. <https://github.com/airbus-cert/minusone/tree/48d85ed29a293359c5a990569de70561dd2c312c/samples>
13. <https://github.com/airbus-cert/minusone/blob/48d85ed29a293359c5a990569de70561dd2c312c/LICENSE>
14. <https://github.com/airbus-cert/minusone/releases/tag/v0.4.2>
15. <https://crates.io/crates/minusone/0.4.1>
16. <https://pypi.org/project/pyminusone/0.4.1/>
17. <https://www.npmjs.com/package/minusonejs/v/0.5.0>

## 同分区更多条目：网站

- [JS-Deobfuscator（0x1Avram）Obfuscator.io 反混淆工具](https://awesomerea.org/zh/resources/0x1avram-js-deobfuscator/index.md) · 工具
- [HTTP Toolkit HTTP(S) 调试代理](https://awesomerea.org/zh/resources/http-toolkit/index.md) · 工具
- [willnode JavaScript 手动反混淆编辑器](https://awesomerea.org/zh/resources/willnode-deobfuscator/index.md) · 工具
- [go-fAST JavaScript 语法树库](https://awesomerea.org/zh/resources/go-fast-js-ast/index.md) · 工具
- [Hetty HTTP 安全研究工具包](https://awesomerea.org/zh/resources/hetty/index.md) · 工具
- [debundle JavaScript 打包文件拆包工具](https://awesomerea.org/zh/resources/debundle/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
