Deobf-All — Unified Deobfuscation Dispatcher
When you encounter any obfuscated or protected code, this skill triages
the target first, then loads only the relevant sub-skills — not all 26 at
once. This minimises tool calls and context usage.
0. EXECUTION CONTRACT (read first)
DO NOT read_skill all 26 sub-skills blindly.
Instead: triage → load P0 → route → load P1/P2 only if needed.
Phase
Action
Tool calls
Triage
Inspect target file, identify type
0–1 (read_file / file command)
Load P0
read_skill for 1–2 core skills
1–2
Route
Decide if P1/P2 are needed
0
Load P1/P2
read_skill only for skills the route demands
0–3
Goal : never exceed 5 read_skill calls per invocation unless the target is truly unknown.
1. SUB-SKILL INVENTORY
#
Skill
Purpose
Layer
1
code-obfuscation-deobfuscation
Native binary deobf: CFF, opaque predicates, string encrypt, import hiding, anti-disasm
P0
2
ast-deobfuscation
JavaScript AST deobf: pattern detection, pipeline, site-specific adapters
P0 (JS only)
3
vm-and-bytecode-reverse
VM protectors (VMProtect/Themida), custom VM dispatcher, opcode mapping
P1
4
anti-debugging-techniques
Anti-debug detection & bypass (ptrace, PEB, timing, TLS, VEH)
P1
5
symbolic-execution-tools
angr/Z3/Triton: automated constraint solving, emulation unpacking
P1
6
binary-protection-bypass
ASLR/NX/PIE/Canary/RELRO bypass
P2
7
ctf-reverse
CTF reverse engineering methodology
P2
8
anti-reversing-techniques
Anti-reversing identification & circumvention
P2
9
deep-analysis
Deep reverse engineering triage (comprehensive analysis)
P2
10
java-decompile
Java bytecode decompile: CFR/Procyon/Fernflower
P2
11
jadx
Android APK decompile: DEX → Java source
P2
12
apktool
APK unpacking, smali disassembly, resource extraction
P3
13
reverse-engineering-android-malware-with-jadx
Android malware RE workflow using JADX
P3
14
firebase-apk-scanner
Firebase APK configuration security scan
P3
15
deobf-string
Decrypt/recover obfuscated strings via pattern analysis & auto-decrypt
P3
16
deobf-indirect
Deobfuscate indirect branches (CSEL+BR) via symbolic execution + BFS
P3
17
llvm-obfuscation
LLVM-based obfuscation: OLLVM, CFF, string encryption, bogus control flow
P3
18
binary-lifting
Machine code → LLVM IR lifting for analysis, decompilation, recompilation
P3
19
deobfuscating-javascript-malware
JS malware deobf: web attacks, phishing pages, dropper scripts
P3
20
deobfuscating-powershell-obfuscated-malware
Multi-layer PowerShell deobf via AST + dynamic analysis
P3
21
binary-analysis-patterns
Binary analysis: disassembly, decompilation, CFG analysis, code patching
P3
22
yara-rule-authoring
YARA rule creation for malware classification & threat hunting
P3
23
ghidra-headless
Ghidra headless analyzer: automated decompilation, script analysis
P3
24
frida-17
Frida 17 JS API compatibility: hooking, tracing, dynamic instrumentation
P3
25
reverse-engineering-malware-with-ghidra
Ghidra malware RE workflow: imports, strings, decrypt, unpack
P3
26
radare2
radare2 reverse engineering: disassembly, debugging, scripting
P3
2. TRIAGE — Do This First (before any read_skill)
Inspect the target and determine:
Target type : native binary (ELF/PE/Mach-O) / JavaScript / bytecode (DotNet/Java/Python) / Android APK / other
Obfuscation family (if identifiable): CFF, VM protection, string encryption, packing, JS obfuscator (obfuscator.io, JSFuck, etc.)
Presence of anti-debug / anti-reversing layers
Context : CTF challenge? Production analysis? Quick cleanup?
Output : A triage line, e.g. TRIAGE: native PE, VMProtect, has anti-debug → P0:code-obfuscation-deobfuscation P1:vm-and-bytecode-reverse,anti-debugging-techniques
3. ROUTING MATRIX — Load Only What's Needed
Based on triage, read_skill only for the skills marked ✓:
3a. Core Routing — P0 / P1 / P2
Target
P0 core-deobf
P0 ast-deobf
P1 vm-reverse
P1 anti-debug
P1 symbolic
P2 bin-bypass
P2 ctf-rev
P2 anti-rev
P2 deep
P2 java-decompile
P2 jadx
Native binary, general
✓
Native + VM protection
✓
✓
Native + VM + anti-debug
✓
✓
✓
Native + CFF (OLLVM)
✓
✓
Native + packed + anti-rev
✓
✓
✓
JavaScript (any)
✓
JS + heavy obfuscation
✓
✓
JS malware / phishing
✓
✓
DotNet/Java/Python bytecode
✓
✓
✓
Java bytecode (JAR/class)
✓
Android APK
✓
Android malware analysis
✓
✓
PowerShell obfuscated
CTF reverse challenge
✓
✓
✓
Unknown / unclear
✓
Rule : If a cell is empty, do NOT load that skill. This keeps tool calls minimal.
3b. P3 Tooling Selector — Load When Deeper Analysis Demands It
After loading P0-P2 per the core matrix, if the deobfuscation encounters a specific bottleneck, load the matching P3 tool:
Scenario
P3 skill to load
String encryption detected (runtime decrypt loop, encoded strings in .rdata)
deobf-string
Indirect branches (CSEL/BR pattern) blocking CFG recovery
deobf-indirect
LLVM-obfuscated binary (OLLVM, bogus CF, CFF)
llvm-obfuscation
Need to lift binary → LLVM IR for recompilation or advanced analysis
binary-lifting
JavaScript malware (phishing, dropper, web attack)
deobfuscating-javascript-malware
Multi-layer PowerShell payload
deobfuscating-powershell-obfuscated-malware
Disassembly / CFG / code patching analysis needed
binary-analysis-patterns
Post-analysis signature generation (threat hunting, classification)
yara-rule-authoring
Automated Ghidra headless decompilation at scale
ghidra-headless
Dynamic instrumentation / runtime hooking needed
frida-17
Ghidra malware analysis workflow (imports, decrypt, unpack)
reverse-engineering-malware-with-ghidra
radare2 disassembly, debugging, or scripting preferred
radare2
Rule : Only load one P3 skill at a time, and only when the P0-P2 workflow hits a specific bottleneck that the P3 tool addresses.
4. WORKFLOW
Step 1: Triage (0–1 tool call)
Inspect the target. Use read_file for source code or file/DIE/PEiD output for binaries. Produce the triage line.
Step 2: Load P0 (1–2 tool calls)
read_skill for the P0 skill(s) the route demands. For native binaries that's code-obfuscation-deobfuscation; for JavaScript that's ast-deobfuscation.
Step 3: Load P1/P2 only if routed (0–3 tool calls)
Only read_skill for P1/P2 skills that the routing matrix marks ✓ for your target type.
Step 4: Deobfuscate
Static first : pattern matching, CFF reduction, string decryption, dispatcher inlining
Dynamic if blocked : debugger scripting, emulation, symbolic execution
For JS: run scripts/detect-patterns.js from ast-deobfuscation first, then apply the matching pipeline
For JS malware / phishing: load deobfuscating-javascript-malware (P3) for web-specific deobf patterns
For PowerShell: load deobfuscating-powershell-obfuscated-malware (P3) for layered AST/dynamic analysis
For native: identify protector (VMProtect/Themida/OLLVM/custom) before choosing strategy
For native with string encryption: load deobf-string (P3) to auto-decrypt runtime-decrypt loops
For native with indirect branch obfuscation (CSEL+BR): load deobf-indirect (P3) for CFG recovery
For LLVM-obfuscated targets: load llvm-obfuscation (P3) for OLLVM/CFF/bogus-CF reduction
For binary lifting / recompilation: load binary-lifting (P3) to convert machine code → LLVM IR
For disassembly / CFG / code patching: load binary-analysis-patterns (P3) as a general analysis aid
For YARA signature authoring after analysis: load yara-rule-authoring (P3)
For automated Ghidra headless analysis: load ghidra-headless (P3)
For Ghidra malware analysis workflow: load reverse-engineering-malware-with-ghidra (P3)
For dynamic instrumentation / runtime hooking: load frida-17 (P3)
For radare2 disassembly / debugging / scripting: load radare2 (P3)
For Java bytecode: decompile with java-decompile (CFR/Procyon/Fernflower)
For Java bytecode with string obfuscation: also load deobf-string (P3)
For Android APK: unpack with apktool, then decompile DEX with jadx
For Android malware: also load reverse-engineering-android-malware-with-jadx + optionally scan Firebase config with firebase-apk-scanner
Step 5: Validate
Compare deobfuscated output to original symptoms
Verify functional equivalence
Check for residual/nested obfuscation layers
5. FALLBACK — When Triage Is Uncertain
If you cannot determine the target type after inspection:
read_skill for deep-analysis (P2)
Follow deep-analysis methodology to classify the target
Return to the routing matrix with the classification result
Load the appropriate P0/P1 skills
This is the only scenario where you should load a P2 skill before P0.
6. QUICK REFERENCE CHECKLISTS
Native Binary
Triage: identify protector/packer (file, DIE, PEiD)
Load P0: code-obfuscation-deobfuscation
Anti-debug? → Load anti-debugging-techniques
VM-protected? → Load vm-and-bytecode-reverse
Stuck on CFF? → Load symbolic-execution-tools
Packed/protected? → Load binary-protection-bypass
Anti-reversing? → Load anti-reversing-techniques
String encryption? → Load deobf-string
Indirect branch obfuscation? → Load deobf-indirect
LLVM-obfuscated (OLLVM)? → Load llvm-obfuscation
Binary lifting / recompilation needed? → Load binary-lifting
Disassembly / CFG / patching? → Load binary-analysis-patterns
Dynamic instrumentation / hooking? → Load frida-17
Ghidra headless at scale? → Load ghidra-headless
Ghidra malware workflow? → Load reverse-engineering-malware-with-ghidra
radare2 preferred? → Load radare2
YARA signatures after analysis? → Load yara-rule-authoring
Deobfuscate → validate
JavaScript
Triage: identify obfuscator (obfuscator.io, JSFuck, custom)
Load P0: ast-deobfuscation
Run scripts/detect-patterns.js to identify site/framework
Apply matching pipeline (CFF reduction, string decryption, dispatcher inline)
Heavy obfuscation? → also load code-obfuscation-deobfuscation
JS malware / phishing / dropper? → Load deobfuscating-javascript-malware
PowerShell payload mixed in? → Load deobfuscating-powershell-obfuscated-malware
Re-parse after each stage → validate
CTF
Load P2: ctf-reverse + deep-analysis
Identify challenge type (VM, packing, crypto, custom)
Load P0/P1 per routing matrix
String encryption in challenge? → Load deobf-string
VM-based challenge? → also consider deobf-indirect
OLLVM/CFF challenge? → also consider llvm-obfuscation
Dynamic analysis needed? → Load frida-17 or radare2
Solve → validate flag
Java / Android
Triage: JAR/class file? Android APK?
Java bytecode → Load P2: java-decompile
Android APK → Load P2: jadx (and apktool for unpacking if needed)
Android malware analysis → also load reverse-engineering-android-malware-with-jadx
Firebase config scan → Load P3: firebase-apk-scanner
String obfuscation? → also load deobf-string
Dynamic instrumentation? → Load frida-17
Decompile → analyze → validate
PowerShell / JS Malware
Triage: identify obfuscation layers (base64, XOR, compression, eval chains)
PowerShell → Load P3: deobfuscating-powershell-obfuscated-malware
JavaScript malware → Load P0: ast-deobfuscation + also load deobfuscating-javascript-malware
Apply layered deobf (Unicode → decode → AST cleanup)
YARA signatures post-analysis? → Load yara-rule-authoring
Validate behavioral equivalence
Generic P3 Tooling — Load When Bottleneck Appears
String encryption? → deobf-string
Indirect branch / CFG blocked? → deobf-indirect
LLVM obfuscation? → llvm-obfuscation
Binary lifting? → binary-lifting
General binary analysis? → binary-analysis-patterns
Automated Ghidra? → ghidra-headless
Ghidra malware workflow? → reverse-engineering-malware-with-ghidra
Live hooking / tracing? → frida-17
radare2 scripting? → radare2
YARA signatures? → yara-rule-authoring
1 --- 2 name: deobf-all 3 description: Master dispatcher for deobfuscation workflows. Loads the right combination of deobf and reverse-engineering skills based on target type — native binary, JavaScript, VM-protected, packed, or CTF. Use when you need comprehensive deobfuscation capabilities for any target. 4 --- 5 6 # Deobf-All — Unified Deobfuscation Dispatcher 7 8 > When you encounter **any** obfuscated or protected code, this skill triages 9 > the target first, then loads **only the relevant sub-skills** — not all 26 at 10 > once. This minimises tool calls and context usage. 11 12 ## 0. EXECUTION CONTRACT (read first) 13 14 ``` 15 DO NOT read_skill all 26 sub-skills blindly. 16 Instead: triage → load P0 → route → load P1/P2 only if needed. 17 ``` 18 19 | Phase | Action | Tool calls | 20 |-------|--------|------------| 21 | Triage | Inspect target file, identify type | 0–1 (read_file / file command) | 22 | Load P0 | `read_skill` for 1–2 core skills | 1–2 | 23 | Route | Decide if P1/P2 are needed | 0 | 24 | Load P1/P2 | `read_skill` only for skills the route demands | 0–3 | 25 26 **Goal**: never exceed 5 `read_skill` calls per invocation unless the target is truly unknown. 27 28 ## 1. SUB-SKILL INVENTORY 29 30 | # | Skill | Purpose | Layer | 31 |---|-------|---------|-------| 32 | 1 | `code-obfuscation-deobfuscation` | Native binary deobf: CFF, opaque predicates, string encrypt, import hiding, anti-disasm | **P0** | 33 | 2 | `ast-deobfuscation` | JavaScript AST deobf: pattern detection, pipeline, site-specific adapters | **P0** (JS only) | 34 | 3 | `vm-and-bytecode-reverse` | VM protectors (VMProtect/Themida), custom VM dispatcher, opcode mapping | **P1** | 35 | 4 | `anti-debugging-techniques` | Anti-debug detection & bypass (ptrace, PEB, timing, TLS, VEH) | **P1** | 36 | 5 | `symbolic-execution-tools` | angr/Z3/Triton: automated constraint solving, emulation unpacking | **P1** | 37 | 6 | `binary-protection-bypass` | ASLR/NX/PIE/Canary/RELRO bypass | **P2** | 38 | 7 | `ctf-reverse` | CTF reverse engineering methodology | **P2** | 39 | 8 | `anti-reversing-techniques` | Anti-reversing identification & circumvention | **P2** | 40 | 9 | `deep-analysis` | Deep reverse engineering triage (comprehensive analysis) | **P2** | 41 | 10 | `java-decompile` | Java bytecode decompile: CFR/Procyon/Fernflower | **P2** | 42 | 11 | `jadx` | Android APK decompile: DEX → Java source | **P2** | 43 | 12 | `apktool` | APK unpacking, smali disassembly, resource extraction | **P3** | 44 | 13 | `reverse-engineering-android-malware-with-jadx` | Android malware RE workflow using JADX | **P3** | 45 | 14 | `firebase-apk-scanner` | Firebase APK configuration security scan | **P3** | 46 | 15 | `deobf-string` | Decrypt/recover obfuscated strings via pattern analysis & auto-decrypt | **P3** | 47 | 16 | `deobf-indirect` | Deobfuscate indirect branches (CSEL+BR) via symbolic execution + BFS | **P3** | 48 | 17 | `llvm-obfuscation` | LLVM-based obfuscation: OLLVM, CFF, string encryption, bogus control flow | **P3** | 49 | 18 | `binary-lifting` | Machine code → LLVM IR lifting for analysis, decompilation, recompilation | **P3** | 50 | 19 | `deobfuscating-javascript-malware` | JS malware deobf: web attacks, phishing pages, dropper scripts | **P3** | 51 | 20 | `deobfuscating-powershell-obfuscated-malware` | Multi-layer PowerShell deobf via AST + dynamic analysis | **P3** | 52 | 21 | `binary-analysis-patterns` | Binary analysis: disassembly, decompilation, CFG analysis, code patching | **P3** | 53 | 22 | `yara-rule-authoring` | YARA rule creation for malware classification & threat hunting | **P3** | 54 | 23 | `ghidra-headless` | Ghidra headless analyzer: automated decompilation, script analysis | **P3** | 55 | 24 | `frida-17` | Frida 17 JS API compatibility: hooking, tracing, dynamic instrumentation | **P3** | 56 | 25 | `reverse-engineering-malware-with-ghidra` | Ghidra malware RE workflow: imports, strings, decrypt, unpack | **P3** | 57 | 26 | `radare2` | radare2 reverse engineering: disassembly, debugging, scripting | **P3** | 58 59 ## 2. TRIAGE — Do This First (before any read_skill) 60 61 Inspect the target and determine: 62 63 1. **Target type**: native binary (ELF/PE/Mach-O) / JavaScript / bytecode (DotNet/Java/Python) / Android APK / other 64 2. **Obfuscation family** (if identifiable): CFF, VM protection, string encryption, packing, JS obfuscator (obfuscator.io, JSFuck, etc.) 65 3. **Presence of anti-debug / anti-reversing** layers 66 4. **Context**: CTF challenge? Production analysis? Quick cleanup? 67 68 **Output**: A triage line, e.g. `TRIAGE: native PE, VMProtect, has anti-debug → P0:code-obfuscation-deobfuscation P1:vm-and-bytecode-reverse,anti-debugging-techniques` 69 70 ## 3. ROUTING MATRIX — Load Only What's Needed 71 72 Based on triage, `read_skill` **only** for the skills marked ✓: 73 74 ### 3a. Core Routing — P0 / P1 / P2 75 76 | Target | P0 core-deobf | P0 ast-deobf | P1 vm-reverse | P1 anti-debug | P1 symbolic | P2 bin-bypass | P2 ctf-rev | P2 anti-rev | P2 deep | P2 java-decompile | P2 jadx | 77 |--------|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| 78 | Native binary, general | ✓ | | | | | | | | | | | 79 | Native + VM protection | ✓ | | ✓ | | | | | | | | | 80 | Native + VM + anti-debug | ✓ | | ✓ | ✓ | | | | | | | | 81 | Native + CFF (OLLVM) | ✓ | | | | ✓ | | | | | | | 82 | Native + packed + anti-rev | ✓ | | | | | ✓ | | ✓ | | | | 83 | JavaScript (any) | | ✓ | | | | | | | | | | 84 | JS + heavy obfuscation | ✓ | ✓ | | | | | | | | | | 85 | JS malware / phishing | ✓ | ✓ | | | | | | | | | | 86 | DotNet/Java/Python bytecode | ✓ | | ✓ | | ✓ | | | | | | | 87 | Java bytecode (JAR/class) | | | | | | | | | | ✓ | | 88 | Android APK | | | | | | | | | | | ✓ | 89 | Android malware analysis | | | | | | | | | | ✓ | ✓ | 90 | PowerShell obfuscated | | | | | | | | | | | | 91 | CTF reverse challenge | ✓ | | | | | | ✓ | | ✓ | | | 92 | Unknown / unclear | | | | | | | | | ✓ | | | 93 94 **Rule**: If a cell is empty, do NOT load that skill. This keeps tool calls minimal. 95 96 ### 3b. P3 Tooling Selector — Load When Deeper Analysis Demands It 97 98 After loading P0-P2 per the core matrix, if the deobfuscation encounters a specific bottleneck, load the matching P3 tool: 99 100 | Scenario | P3 skill to load | 101 |----------|------------------| 102 | String encryption detected (runtime decrypt loop, encoded strings in .rdata) | `deobf-string` | 103 | Indirect branches (CSEL/BR pattern) blocking CFG recovery | `deobf-indirect` | 104 | LLVM-obfuscated binary (OLLVM, bogus CF, CFF) | `llvm-obfuscation` | 105 | Need to lift binary → LLVM IR for recompilation or advanced analysis | `binary-lifting` | 106 | JavaScript malware (phishing, dropper, web attack) | `deobfuscating-javascript-malware` | 107 | Multi-layer PowerShell payload | `deobfuscating-powershell-obfuscated-malware` | 108 | Disassembly / CFG / code patching analysis needed | `binary-analysis-patterns` | 109 | Post-analysis signature generation (threat hunting, classification) | `yara-rule-authoring` | 110 | Automated Ghidra headless decompilation at scale | `ghidra-headless` | 111 | Dynamic instrumentation / runtime hooking needed | `frida-17` | 112 | Ghidra malware analysis workflow (imports, decrypt, unpack) | `reverse-engineering-malware-with-ghidra` | 113 | radare2 disassembly, debugging, or scripting preferred | `radare2` | 114 115 **Rule**: Only load one P3 skill at a time, and only when the P0-P2 workflow hits a specific bottleneck that the P3 tool addresses. 116 117 ## 4. WORKFLOW 118 119 ### Step 1: Triage (0–1 tool call) 120 Inspect the target. Use `read_file` for source code or `file`/`DIE`/`PEiD` output for binaries. Produce the triage line. 121 122 ### Step 2: Load P0 (1–2 tool calls) 123 `read_skill` for the P0 skill(s) the route demands. For native binaries that's `code-obfuscation-deobfuscation`; for JavaScript that's `ast-deobfuscation`. 124 125 ### Step 3: Load P1/P2 only if routed (0–3 tool calls) 126 Only `read_skill` for P1/P2 skills that the routing matrix marks ✓ for your target type. 127 128 ### Step 4: Deobfuscate 129 - **Static first**: pattern matching, CFF reduction, string decryption, dispatcher inlining 130 - **Dynamic if blocked**: debugger scripting, emulation, symbolic execution 131 - For JS: run `scripts/detect-patterns.js` from ast-deobfuscation first, then apply the matching pipeline 132 - For JS malware / phishing: load `deobfuscating-javascript-malware` (P3) for web-specific deobf patterns 133 - For PowerShell: load `deobfuscating-powershell-obfuscated-malware` (P3) for layered AST/dynamic analysis 134 - For native: identify protector (VMProtect/Themida/OLLVM/custom) before choosing strategy 135 - For native with string encryption: load `deobf-string` (P3) to auto-decrypt runtime-decrypt loops 136 - For native with indirect branch obfuscation (CSEL+BR): load `deobf-indirect` (P3) for CFG recovery 137 - For LLVM-obfuscated targets: load `llvm-obfuscation` (P3) for OLLVM/CFF/bogus-CF reduction 138 - For binary lifting / recompilation: load `binary-lifting` (P3) to convert machine code → LLVM IR 139 - For disassembly / CFG / code patching: load `binary-analysis-patterns` (P3) as a general analysis aid 140 - For YARA signature authoring after analysis: load `yara-rule-authoring` (P3) 141 - For automated Ghidra headless analysis: load `ghidra-headless` (P3) 142 - For Ghidra malware analysis workflow: load `reverse-engineering-malware-with-ghidra` (P3) 143 - For dynamic instrumentation / runtime hooking: load `frida-17` (P3) 144 - For radare2 disassembly / debugging / scripting: load `radare2` (P3) 145 - For Java bytecode: decompile with `java-decompile` (CFR/Procyon/Fernflower) 146 - For Java bytecode with string obfuscation: also load `deobf-string` (P3) 147 - For Android APK: unpack with `apktool`, then decompile DEX with `jadx` 148 - For Android malware: also load `reverse-engineering-android-malware-with-jadx` + optionally scan Firebase config with `firebase-apk-scanner` 149 150 ### Step 5: Validate 151 - Compare deobfuscated output to original symptoms 152 - Verify functional equivalence 153 - Check for residual/nested obfuscation layers 154 155 ## 5. FALLBACK — When Triage Is Uncertain 156 157 If you cannot determine the target type after inspection: 158 159 1. `read_skill` for `deep-analysis` (P2) 160 2. Follow deep-analysis methodology to classify the target 161 3. Return to the routing matrix with the classification result 162 4. Load the appropriate P0/P1 skills 163 164 This is the **only** scenario where you should load a P2 skill before P0. 165 166 ## 6. QUICK REFERENCE CHECKLISTS 167 168 ### Native Binary 169 1. [ ] Triage: identify protector/packer (file, DIE, PEiD) 170 2. [ ] Load P0: `code-obfuscation-deobfuscation` 171 3. [ ] Anti-debug? → Load `anti-debugging-techniques` 172 4. [ ] VM-protected? → Load `vm-and-bytecode-reverse` 173 5. [ ] Stuck on CFF? → Load `symbolic-execution-tools` 174 6. [ ] Packed/protected? → Load `binary-protection-bypass` 175 7. [ ] Anti-reversing? → Load `anti-reversing-techniques` 176 8. [ ] String encryption? → Load `deobf-string` 177 9. [ ] Indirect branch obfuscation? → Load `deobf-indirect` 178 10. [ ] LLVM-obfuscated (OLLVM)? → Load `llvm-obfuscation` 179 11. [ ] Binary lifting / recompilation needed? → Load `binary-lifting` 180 12. [ ] Disassembly / CFG / patching? → Load `binary-analysis-patterns` 181 13. [ ] Dynamic instrumentation / hooking? → Load `frida-17` 182 14. [ ] Ghidra headless at scale? → Load `ghidra-headless` 183 15. [ ] Ghidra malware workflow? → Load `reverse-engineering-malware-with-ghidra` 184 16. [ ] radare2 preferred? → Load `radare2` 185 17. [ ] YARA signatures after analysis? → Load `yara-rule-authoring` 186 18. [ ] Deobfuscate → validate 187 188 ### JavaScript 189 1. [ ] Triage: identify obfuscator (obfuscator.io, JSFuck, custom) 190 2. [ ] Load P0: `ast-deobfuscation` 191 3. [ ] Run `scripts/detect-patterns.js` to identify site/framework 192 4. [ ] Apply matching pipeline (CFF reduction, string decryption, dispatcher inline) 193 5. [ ] Heavy obfuscation? → also load `code-obfuscation-deobfuscation` 194 6. [ ] JS malware / phishing / dropper? → Load `deobfuscating-javascript-malware` 195 7. [ ] PowerShell payload mixed in? → Load `deobfuscating-powershell-obfuscated-malware` 196 8. [ ] Re-parse after each stage → validate 197 198 ### CTF 199 1. [ ] Load P2: `ctf-reverse` + `deep-analysis` 200 2. [ ] Identify challenge type (VM, packing, crypto, custom) 201 3. [ ] Load P0/P1 per routing matrix 202 4. [ ] String encryption in challenge? → Load `deobf-string` 203 5. [ ] VM-based challenge? → also consider `deobf-indirect` 204 6. [ ] OLLVM/CFF challenge? → also consider `llvm-obfuscation` 205 7. [ ] Dynamic analysis needed? → Load `frida-17` or `radare2` 206 8. [ ] Solve → validate flag 207 208 ### Java / Android 209 1. [ ] Triage: JAR/class file? Android APK? 210 2. [ ] Java bytecode → Load P2: `java-decompile` 211 3. [ ] Android APK → Load P2: `jadx` (and `apktool` for unpacking if needed) 212 4. [ ] Android malware analysis → also load `reverse-engineering-android-malware-with-jadx` 213 5. [ ] Firebase config scan → Load P3: `firebase-apk-scanner` 214 6. [ ] String obfuscation? → also load `deobf-string` 215 7. [ ] Dynamic instrumentation? → Load `frida-17` 216 8. [ ] Decompile → analyze → validate 217 218 ### PowerShell / JS Malware 219 1. [ ] Triage: identify obfuscation layers (base64, XOR, compression, eval chains) 220 2. [ ] PowerShell → Load P3: `deobfuscating-powershell-obfuscated-malware` 221 3. [ ] JavaScript malware → Load P0: `ast-deobfuscation` + also load `deobfuscating-javascript-malware` 222 4. [ ] Apply layered deobf (Unicode → decode → AST cleanup) 223 5. [ ] YARA signatures post-analysis? → Load `yara-rule-authoring` 224 6. [ ] Validate behavioral equivalence 225 226 ### Generic P3 Tooling — Load When Bottleneck Appears 227 1. [ ] String encryption? → `deobf-string` 228 2. [ ] Indirect branch / CFG blocked? → `deobf-indirect` 229 3. [ ] LLVM obfuscation? → `llvm-obfuscation` 230 4. [ ] Binary lifting? → `binary-lifting` 231 5. [ ] General binary analysis? → `binary-analysis-patterns` 232 6. [ ] Automated Ghidra? → `ghidra-headless` 233 7. [ ] Ghidra malware workflow? → `reverse-engineering-malware-with-ghidra` 234 8. [ ] Live hooking / tracing? → `frida-17` 235 9. [ ] radare2 scripting? → `radare2` 236 10. [ ] YARA signatures? → `yara-rule-authoring`