Skip to main content

路由逻辑

deobf-all 内置决策树,根据目标类型和混淆特征自动路由到最优子 skill 组合。

决策树

┌─ 目标是否为混淆代码?

├─ 原生二进制 (ELF/PE/Mach-O)
│   ├─ 有 VM 保护?    → code-obfuscation-deobfuscation + vm-and-bytecode-reverse
│   ├─ 有反调试?      → + anti-debugging-techniques
│   ├─ 需要约束求解?  → + symbolic-execution-tools
│   ├─ 有二进制保护?  → + binary-protection-bypass
│   └─ 通用反混淆?    → code-obfuscation-deobfuscation

├─ JavaScript 代码
│   ├─ 已知站点/框架? → ast-deobfuscation(先用 detect-patterns.js)
│   ├─ JS 控制流扁平化?→ ast-deobfuscation 流水线
│   └─ 通用 JS 混淆?  → ast-deobfuscation + code-obfuscation-deobfuscation

├─ DotNet/Java/Python 字节码
│   └─ vm-and-bytecode-reverse + symbolic-execution-tools

├─ CTF 挑战
│   └─ ctf-reverse + deep-analysis + 相关子 skill

└─ 未知 / 需要分类
    └─ deep-analysis 先行,然后根据发现结果路由

路由示例

目标类型主要 Skill辅助 Skill
VMProtect 保护的原生二进制code-obfuscation-deobfuscation + vm-and-bytecode-reverse+ anti-debugging-techniques
OLLVM 控制流扁平化code-obfuscation-deobfuscation+ symbolic-execution-tools
压缩/加壳 + 反逆向二进制code-obfuscation-deobfuscation+ anti-reversing-techniques + binary-protection-bypass
重度混淆的 JavaScriptast-deobfuscation+ code-obfuscation-deobfuscation
DotNet/Java/Python 字节码vm-and-bytecode-reverse+ symbolic-execution-tools
CTF 逆向挑战ctf-reverse + deep-analysis+ 相关子 skill
未知类型deep-analysis→ 根据发现结果再路由

Skill 优先级

调度器为子 skill 定义了三级优先级:
优先级含义Skill
P0遇到相关目标时始终加载code-obfuscation-deobfuscationast-deobfuscation
P1按需加载vm-and-bytecode-reverseanti-debugging-techniquessymbolic-execution-tools
P2辅助增强binary-protection-bypassctf-reverseanti-reversing-techniquesdeep-analysis
P0 skill 在调度器激活时会无条件加载到上下文中。P1/P2 skill 根据路由决策按需激活。