ida
Installation
SKILL.md
IDA Pro Reverse Engineering
通用逆向工程方法论 + MCP 工具链 + Headless API。
Part 1: 通用逆向方法论
Key Principles
- F5 first, disasm second (HARD RULE) — MUST call
decompilebeforedisasmfor any function analysis. Only fall back todisasmwhen decompile explicitly fails/errors or returns obvious artifacts. NEVER skip decompile and go straight to disasm for "convenience" or "safety". - Rename-as-you-go (HARD RULE) — 每 decompile 一个函数,理解其功能后 必须立即
rename_symbol,不允许「先全部分析完再统一命名」。未命名的sub_XXXXX是技术债,会导致 caller 的伪代码不可读。build_callgraph找叶子 → 自底向上 decompile → 每理解一个函数立即rename_symbol→ 重新 decompile caller。 - 迭代循环 — F5→标注类型→rename→再 F5→发现新偏移→验证 struct→又 F5… 复合效应
- Constants are literal — IDA 里看到
0x6E就写110,不解读物理含义 - disasm when decompile disagrees — diff 在 1-10 时切到 disasm 逐指令核对
- Analysis log (HARD RULE) — 逆向分析过程中 必须维护分析日志。每完成一个函数的逆向(decompile + rename + 理解功能),立即追加一条日志记录。分析结束时(
close_idb前)输出完整日志摘要。日志格式和规则见下方「分析日志规范」。