{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/README.zh-CN.md",
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/packages/deob/package.json",
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/package.json",
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/packages/deob/src/deobfuscate/vm.ts",
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/website/utils/deobfuscate.worker.ts",
    "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/LICENSE",
    "https://github.com/kuizuo/js-deobfuscator/releases/tag/v0.4.2"
  ],
  "category": "web-analysis",
  "description_en": "Babel AST-based JavaScript deobfuscator with a CLI, a TypeScript API in the workspace package deob, and a browser playground built with Nuxt 3 and Monaco. It locates string-array decoders by array length, call count or analyst-supplied setup code and decoder names, evaluates them to inline the decoded strings, unflattens control flow, removes dead code and self-defending or anti-debug logic, merges object properties and renames mangled identifiers, repeating passes for heavily obfuscated input. The README credits webcrack as an inspiration, and its examples include javascript-obfuscator and jsjiami v6 output, the string-array style the catalog's obfuscator-io-deobfuscator entry also covers.",
  "description_zh": "基于 Babel AST 的 JavaScript 反混淆工具，提供命令行、工作区软件包 deob 中的 TypeScript API，以及用 Nuxt 3 和 Monaco 构建的浏览器在线演练场。它可按字符串数组长度、调用次数，或分析者提供的预置代码与解密函数名来定位字符串数组解密函数，执行这些函数以内联解密后的字符串，并能还原控制流平坦化、删除死代码及自我防护和反调试逻辑、合并对象属性、重命名被混淆的标识符，对重度混淆的代码会多轮处理。README 称其受 webcrack 启发；示例包含 javascript-obfuscator 和 jsjiami v6 的输出，与本目录 obfuscator-io-deobfuscator 条目所处理的字符串数组混淆属于同一类。",
  "entry_url": "https://awesomerea.org/resources/kuizuo-js-deobfuscator/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/kuizuo-js-deobfuscator/",
  "evidence_url": "https://github.com/kuizuo/js-deobfuscator/blob/21598ad5865a9e29b5c50c94f629a2e7528c7fbd/README.md",
  "group": "tools",
  "id": "kuizuo-js-deobfuscator",
  "json_url": "https://awesomerea.org/resources/kuizuo-js-deobfuscator/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/kuizuo-js-deobfuscator/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/kuizuo-js-deobfuscator/index.md",
  "name": "JS Deobfuscator (kuizuo)",
  "name_zh": "JS Deobfuscator（kuizuo）Babel AST 反混淆工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "From a clone, run pnpm install (workspace pins pnpm 11.21.0), then pnpm exec deob on a file or standard input, or pnpm tmp for tmp/input.js. The browser playground is at js-deobfuscator.vercel.app.",
    "Decoder code executes in isolated-vm with a 10-second timeout in Node; if that call fails, the code falls back to the host global eval. Process untrusted scripts in an isolated environment. Customized samples may require analyst-supplied setupCode and decoder names.",
    "The example directory includes obfuscated scripts and restored outputs; the repository gives no provenance or redistribution terms for those samples. The root LICENSE is MIT; packages/deob/package.json does not declare a license."
  ],
  "requirements_zh": [
    "从克隆的仓库运行 pnpm install（工作区固定 pnpm 11.21.0），然后用 pnpm exec deob 处理文件或标准输入，或用 pnpm tmp 处理 tmp/input.js。浏览器演练场位于 js-deobfuscator.vercel.app。",
    "在 Node 中，解密代码于 isolated-vm 运行，超时 10 秒；调用失败时会退回宿主环境的全局 eval。应在隔离环境中处理不可信脚本。定制样本可能需要分析者提供 setupCode 和解密函数名。",
    "示例目录包含混淆脚本及还原结果；仓库未给出这些样本的来源或再分发条款。根目录 LICENSE 为 MIT；packages/deob/package.json 未声明许可证。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/kuizuo/js-deobfuscator",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
