ast-deobfuscate

Deobfuscate JavaScript code using Babel-based AST transformations.

335|85|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/715494637/reverse-skill --skill ast-deobfuscate-715494637
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ast-deobfuscate
Source: https://github.com/715494637/reverse-skill/tree/main/%E9%A1%B9%E7%9B%AE%E8%B5%84%E6%96%99/ai-reverse-toolkit-main/skills/ast-deobfuscate
Command: npx skills add https://github.com/715494637/reverse-skill --skill ast-deobfuscate-715494637

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @babel/parser, @babel/traverse, @babel/generator, @babel/types, prettier.

What problem does it solve?

本技能通过 AST 基于变换将混淆的 JavaScript 还原为可读代码,提升可维护性和审计能力。

Core Features & Use Cases

  • 基于 Babel 的解析、遍历、生成和类型操作,完成解混淆流程。
  • 适用于包含混淆标识符(如 _0x)、字符串混淆、控制流扁平化等模式的代码。
  • 典型场景包括逆向分析、代码审计、调试未暴露的逻辑。

Quick Start

将对混淆的 JavaScript 文件应用基于 AST 的解混淆步骤,输出可读版本的目标源码。

Frequently Asked Questions about ast-deobfuscate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deobfuscate JavaScript code with _0x identifiers and encoded strings?

To deobfuscate JavaScript, this Skill applies AST-based transformations using Babel to parse, traverse, and regenerate valid code, restoring readability from common obfuscation patterns like _0x identifiers. It safely isolates execution while preserving semantics.

How does AST transformation work to restore readable JavaScript?

AST transformation works by using Babel to parse obfuscated JavaScript into an abstract syntax tree, traverse and manipulate nodes to reverse encoding, and generate clean output. This structural approach ensures semantic preservation during deobfuscation.

Can I use Babel to reverse control flow flattening in obfuscated JS?

Yes, you can use Babel to reverse control flow flattening. This Skill leverages Babel's parser, traverse, and generator tools to restructure flattened control flows and decode strings, outputting readable source code for auditing.

What is the best way to deobfuscate large codebases for reverse engineering?

The best way to deobfuscate large codebases is applying AST-based transformations. This Skill handles files of varying sizes by parsing obfuscated patterns and regenerating valid, readable JavaScript suitable for reverse engineering and debugging.

Does AST deobfuscation preserve the original semantics of the JavaScript?

AST deobfuscation preserves the original semantics of the JavaScript. By utilizing Babel types and traversal logic, the Skill safely transforms obfuscated code structures while ensuring the regenerated output remains functionally valid.

What are the limitations of using AST transformations for JavaScript deobfuscation?

AST transformations for JavaScript deobfuscation are limited to known structural patterns like _0x identifiers and string encoding. Complex custom encryption without clear AST signatures may not fully restore readability, requiring manual reverse engineering.