This is a structured playbook for reversing obfuscated binaries, covering everything from opaque predicates and control flow flattening to full VM protectors like VMProtect and Themida. The quick reference table alone is worth it: maps disassembly symptoms (flat CFG, all mov instructions, pushad/VM entry) directly to the obfuscation type and starting strategy. The distinction between static pattern removal for junk code versus dynamic emulation for self-modifying code is clear and correct. Most models conflate packing with obfuscation or suggest the wrong approach for flattened control flow. If you're staring at a binary with impossible conditional branches or a giant switch statement and need to know whether to reach for symbolic execution, trace analysis, or handler table extraction, this gives you the decision tree.
npx skills add https://github.com/yaklang/hack-skills --skill code-obfuscation-deobfuscation