code-obfuscation-deobfuscation

Identify and defeat code obfuscation in native binaries.

1.6k|204|Updated Apr 7, 2026
One-click install
npx skills add https://github.com/yaklang/hack-skills --skill code-obfuscation-deobfuscation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: code-obfuscation-deobfuscation
Source: https://github.com/yaklang/hack-skills/tree/main/skills/code-obfuscation-deobfuscation
Command: npx skills add https://github.com/yaklang/hack-skills --skill code-obfuscation-deobfuscation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Code obfuscation analysis and deobfuscation playbook. Use when reversing binaries protected by junk code, opaque predicates, self-modifying code, control flow flattening, VM protection, or string encryption.

Core Features & Use Cases

  • Junk code and opaque predicate detection and cleanup to simplify analysis.
  • Self-modifying code (SMC) handling, decryption, and stability checks.
  • VM protection analysis (VMProtect/Themida/Code Virtualizer) with handler mapping.
  • String encryption detection and decryption workflow, including runtime emulation.
  • Import hiding and anti-disassembly techniques identification for deeper inspection.

Quick Start

Invoke the playbook on a sample obfuscated binary to start the deobfuscation workflow.

Frequently Asked Questions about code-obfuscation-deobfuscation

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

FAQPage Schema
How do I defeat control flow flattening and opaque predicates during binary reverse engineering?

Defeating control flow flattening and opaque predicates involves identifying junk code and static branches to simplify control flow graphs. The playbook provides static and dynamic analysis workflows to detect and clean up these obfuscations for clearer reverse engineering.

How does VM protection analysis work for binaries protected by VMProtect or Themida?

VM protection analysis works by mapping virtualized handlers to native instructions to reconstruct original logic. The playbook guides handler mapping and integrates with tools like IDA, Ghidra, and Unicorn to analyze VM-protected binaries.

What is the best way to decrypt strings hidden by self-modifying code in native binaries?

Decrypting strings hidden by self-modifying code requires handling SMC decryption routines and stability checks. The playbook outlines a string encryption detection workflow, leveraging runtime emulation with tools like Triton and miasm.

Can I use this deobfuscation workflow with IDA and Ghidra for malware analysis?

Yes, the deobfuscation workflow integrates with IDA and Ghidra for malware analysis. It supports static and dynamic analysis to identify import hiding and anti-disassembly techniques, providing reproducible procedures for deeper inspection.

How do I identify and bypass anti-disassembly techniques in obfuscated binaries?

Identifying anti-disassembly techniques requires inspecting import hiding and self-modifying code that disrupts disassemblers. The playbook provides step-by-step guidance to locate these mechanisms and restore stable binary analysis.