ast-deobfuscate

Automate JavaScript deobfuscation using Babel AST transformations.

12|1|Updated Apr 24, 2026
One-click install
npx skills add https://github.com/zy950618/oh_my_reverse_skill --skill ast-deobfuscate-zy950618
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ast-deobfuscate
Source: https://github.com/zy950618/oh_my_reverse_skill/tree/main/2-JS%E9%80%86%E5%90%91%E5%B7%A5%E5%85%B7%E5%B1%82/ast-deobfuscate
Command: npx skills add https://github.com/zy950618/oh_my_reverse_skill --skill ast-deobfuscate-zy950618

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill streamlines the process of deobfuscating and reversing JavaScript code by utilizing Babel AST, enabling the restoration of readable and understandable code.

Core Features & Use Cases

  • String Decryption: Automatically decrypts encrypted strings within the code.
  • Control Flow Recovery: Restores control flow structure from obfuscated code.
  • Dead Code Removal: Eliminates dead code, improving code readability.
  • Use Case: When encountering complex and obfuscated JavaScript code, use this Skill to reverse it and gain better insights into the underlying logic.

Quick Start

Execute the ast-deobfuscate Skill with the obfuscated JavaScript code file path: 'path/to/obfuscated-code.js'.

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 automatically?

You can deobfuscate JavaScript automatically by parsing the code into a Babel AST to handle string decryption, control flow reconstruction, and dead code removal. This restores readable logic from obfuscated source files.

What is the best way to reverse engineer obfuscated JavaScript?

The best way to reverse engineer obfuscated JavaScript is using Babel AST transformations to systematically decrypt strings and recover control flow. This approach directly targets the abstract syntax tree to reconstruct the original logic.

Can I use Babel to remove dead code from obfuscated JavaScript?

Yes, you can use Babel to remove dead code from obfuscated JavaScript. By traversing and manipulating the AST, the deobfuscation process eliminates unreachable code paths to improve overall code readability.

Do I need Babel libraries to parse and manipulate code for AST deobfuscation?

Yes, you need Babel libraries including the parser, traverse, generator, and types packages to perform AST deobfuscation. These dependencies are required to parse the code into an AST and generate the restored output.

How does AST transformation help with JavaScript string decryption?

AST transformation helps with JavaScript string decryption by identifying encrypted string nodes during traversal and replacing them with their decrypted values. This restores the original strings directly within the abstract syntax tree.

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

The limitations of using Babel AST for JavaScript deobfuscation include its reliance on successfully parsing the code into a valid AST. Extremely complex or non-standard obfuscation patterns may require manual intervention before automated transformations can proceed.