工具

synchrony JavaScript 反混淆工具

主要面向 javascript-obfuscator(obfuscator.io)输出的 JavaScript 清理与反混淆工具。它用 acorn 解析脚本,再运行一组固定的 AST 转换器:折叠表达式、整理成员访问、删除死分支、拆分逗号表达式、还原基于 switch 的控制流平坦化,并解码字符串数组;其中 base64 和 RC4 解码器以 TypeScript 重新实现,而不是执行输入代码。它以 deobfuscator 之名发布在 npm 上,提供 synchrony 命令行工具和库 API;可选的重命名会把标识符换成生成的单词名,并不能恢复原名。

使用条件与局限

  • 审阅时最新版本为 2.4.6,于 2026-07-07 发布到 GitHub 并以 deobfuscator 之名发布到 npm,与所审阅的 master 提交同日;上一版本 2.4.5 发布于 2023-11-09。README 还指向 deobfuscate.relative.im 上的托管网页版,本次未审阅该部署。
  • 可用 npm、yarn 或 pnpm 安装,也可直接从 Git 仓库安装;package.json 未声明 Node.js 版本。命令行工具读取单个文件,未指定 --output 时写出 <文件名>.cleaned.<扩展名>,并提供 --rename、--loose 宽松解析、--ecma-version 和 --sourceType 选项。--config 配置文件通过 Node 的 require 加载,因此会作为代码执行;自定义转换器列表会取代默认流程,两个 jsconfuser 转换器只能以这种方式启用,README 也未说明它们。
  • README 提醒,旧版 javascript-obfuscator 生成的代码很可能无法正确反混淆,自动字符串解码器也没有可供用户调整的配置。仓库没有测试套件,最新一次提交删除了 GitHub CI 配置。
  • package.json 和 LICENSE.md 声明 GPL-3.0-only。本次审阅未对任何脚本进行反混淆,所审来源也未确立与 REA 的关联。

关于此条目

类型
工具
类别
网站分析工具
关联
基础工具
目标
网站

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · relative/synchrony · 修订 710e9f6
  2. package.json GitHub · relative/synchrony · 修订 710e9f6
  3. src/cli.js GitHub · relative/synchrony · 修订 710e9f6
  4. src/deobfuscator.ts GitHub · relative/synchrony · 修订 710e9f6
  5. src/context.ts GitHub · relative/synchrony · 修订 710e9f6
  6. src/transformers/stringdecoder.ts GitHub · relative/synchrony · 修订 710e9f6
  7. LICENSE.md GitHub · relative/synchrony · 修订 710e9f6
  8. https://github.com/relative/synchrony/releases/tag/2.4.6

同分区更多条目:网站

网站分区全部 33 项资源