ast-deobfuscation

Reverse JavaScript obfuscation patterns using Babel AST manipulation.

3|2|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/woxiangyangzhimao/skills --skill ast-deobfuscation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ast-deobfuscation
Source: https://github.com/woxiangyangzhimao/skills/tree/main/ast-deobfuscation
Command: npx skills add https://github.com/woxiangyangzhimao/skills --skill ast-deobfuscation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @babel/generator, @babel/parser, @babel/traverse, @babel/types, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill deobfuscates JavaScript code, making it more readable and manageable for developers.

Core Features & Use Cases

  • AST Deobfuscation: Uses Babel's Abstract Syntax Tree (AST) to reverse common obfuscation techniques.
  • Pattern Detection: Identifies and processes specific obfuscation patterns such as _0x identifiers, string tables, and control flow flattening.
  • Pipeline Configuration: Offers a customizable pipeline to handle different types of obfuscation and sites.
  • Use Case: If you have a JavaScript file that has been obfuscated, this Skill can help you understand its structure and reverse the obfuscation to make it readable again.

Quick Start

Run the 'ast-deobfuscation' skill on the obfuscated JavaScript file 'obfuscated.js'.

Frequently Asked Questions about ast-deobfuscation

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

FAQPage Schema
How do I deobfuscate JavaScript code with _0x identifiers and string tables?

You can reverse JavaScript obfuscation by applying an AST-based deobfuscation pipeline that identifies and transforms _0x identifiers, string tables, and control flow flattening into readable code.

What is AST-based deobfuscation and how does it work?

AST deobfuscation works by parsing obfuscated JavaScript into an Abstract Syntax Tree, then traversing and transforming nodes to reverse obfuscation patterns, resulting in restructured and readable code.

Do I need Babel to reverse JavaScript obfuscation?

Yes, Babel is required for AST manipulation and analysis. The Skill depends on Babel parser, traverse, generator, and types libraries to detect obfuscation patterns and decomplexify the JavaScript code.

Can I customize the deobfuscation pipeline for different obfuscated sites?

Yes, the Skill offers a customizable pipeline to handle different types of obfuscation and sites. You can configure the AST transformation pipeline to target specific obfuscation patterns in your JavaScript files.

What's the best way to reverse control flow flattening in JavaScript?

The best way to reverse control flow flattening is using AST traversal to identify flattened control structures and restore the original execution flow. Babel's traverse library enables deep analysis and restructuring of these patterns.

What are the limitations of AST deobfuscation for heavily obfuscated code?

AST deobfuscation relies on detecting specific patterns like _0x identifiers and string tables. If obfuscated JavaScript uses novel or undocumented obfuscation techniques, the customizable pipeline may require manual configuration to process them.