code-obfuscate · git:20260918.865d0ac · 2026-09-18 · sha256 32ade93b8ea3e722

code-obfuscate git:20260918.865d0acA

Immutable. This exact content never changes and is served at /api/v1/blob/32ade93b8ea3e722.

---
name: code-obfuscate
description: Code obfuscation and deobfuscation — control flow, string encryption, instruction substitution. Trigger: obfuscate code, deobfuscate, code obfuscation, control flow flatten, string encrypt, 代码混淆, 去混淆.
---

# Code Obfuscation / Deobfuscation

## Obfuscation Techniques
1. Control flow flattening — transform if/while/for into switch-based dispatcher
2. String encryption — XOR/AES strings, decrypt at runtime
3. Instruction substitution — replace simple ops with complex equivalents
4. Opaque predicates — always-true/false conditions that look complex
5. Dead code insertion — unreachable blocks that confuse static analysis
6. Function splitting — break functions into fragments, reorder randomly
7. Constant obfuscation — MBA (Mixed Boolean-Arithmetic) expressions

## Deobfuscation Techniques
1. Pattern matching — recognize standard flattening dispatch patterns
2. Symbolic execution — angr/MIAsM to recover original control flow
3. Dynamic analysis — trace execution, record actual path
4. Taint analysis — track obfuscated values to source
5. LLVM optimization passes — run -O3 on lifted IR

## Execution
When triggered:
1. Analyze target for obfuscation indicators (entropy, CFG complexity)
2. Identify obfuscation type(s)
3. Apply matching deobfuscation technique
4. Or: apply obfuscation to protect sensitive code
5. Write result to disk