re-anti-analysis
Installation
SKILL.md
反分析对抗(壳识别 / 脱壳 / 反混淆)
完整工作流
- 壳识别:[[re-packer-id]](能力:
unpack) —— 先识别再动手。DIE/PEiD 签名库扫描、节名异常(UPX0/.aspack/自定义)、入口点是否指向非首节、熵 >7、导入表极小。先记 OEP 线索(EP 附近 pushad 等壳入口特征),识别出的壳名决定路径 - 分派:简单压缩壳(UPX/ASPack/FSG)→ [[re-unpack-simple]](能力:
unpack);强壳/虚拟化壳(VMProtect/Themida)→ [[re-unpack-advanced]](能力:unpack);识别不出 → 手动流程(按 [[re-unpack-simple]](能力:unpack) 的 ESP 定律 + 内存断点手动找 OEP,或按强壳流程处理),不硬猜壳名 - 简单壳脱壳:[[re-unpack-simple]](能力:
unpack) —— 优先官方/自动解包(upx -d)→ ESP 定律 / 内存断点找 OEP → 按明文/代码 materialization 定转储时机(单层壳常在真实 OEP 附近,OEP 非通用判据;时机见 [[re-analyze/platform-tips]] 关键经验,默认转储优先)→ IAT 修复(Scylla/ImpREC,Windows) - 强壳脱壳:[[re-unpack-advanced]](能力:
unpack) —— 反调试对抗(scyllaHide 思路:NtQueryInformationProcess/时间差)→ 堆栈回溯/内存断点组合找 OEP → 转储(默认转储优先)→ IAT 修复(含重定向)→ 虚拟化代码区域标注(标记绕过而非还原) - 反混淆:[[re-deobfuscate]](能力:
deobfuscation) —— 脱壳后若仍有花指令 / 控制流平坦化 / 字符串加密:花指令清除、平坦化还原(D-810/手动)、字符串解密循环定位与仿真、批量脚本化、还原前后对比验证 - 验证:脱壳产物 sha256 存档 → 沙箱内复跑([[re-sandbox]](能力:
sandbox-setup) 判定脱干净、[[re-analyze/platform-tips]] 最高原则)→ 导入 [[re-ghidra]](能力:decompilation、debugging) / [[re-ida]](能力:decompilation、debugging) 确认 OEP 处可正常反编译;导入表可解析才算完成。产物交回原调用域继续(恶意样本回 [[re-malware]](能力:malware-behavior、document-malware、evasion-analysis、key-extraction、threat-intel) 行为分析、破解目标转 [[re-cracking]](能力:license-analysis) 授权定位)
每步结果存档(证据路径 + sha256,见 [[re-triage]](能力:triage));壳指纹 / 脱壳产物是 [[re-ioc]](能力:threat-intel) YARA 特征来源。
反调试方法论(全库通用,见 [[re-analyze/analysis-contract]] 索引)
本网关适用的反调试分析方法论(用户实战经验),各技能坑与陷阱引用此处。