ast-deobfuscation
Installation
SKILL.md
AST 反混淆
优先使用分层入口,而不是继续把站点特有逻辑堆进通用脚本。
工作流
- 先运行
scripts/detect-patterns.js <input.js> [hint]做模式检测。 - 只读取命中的站点或混淆家族规则文档。
- 运行
scripts/run-pipeline.js <input.js> <output-dir> [hint]执行选中的流水线。 - 对照参考产物或原始混淆症状,判断是否还需要新增专用适配脚本。
设计规则
- 通用脚本只保留低风险、可复用的改写,例如结构标准化、虚假分支清理、dispatcher 内联、控制流拍平和
if -> switch。 - 一旦某个模式明显是站点特有的,就同时补齐四部分:规则文档、检测器命中项、专用适配脚本、流水线配置项。
- 对于高开销步骤,优先按家族跳过或重排,不要强行要求所有样本走同一套顺序。像
reese84这种大样本,如果太晚执行inline-literals,很容易卡住。 - 专用适配脚本应当保持窄而准。如果某条规则没有在多个无关样本中复用,不要急着回灌到通用脚本。
- 结构性改写后要重新 parse,并保证每一阶段都可以独立运行和排查。