skills/ida-reverse/SKILL.md
--- name: ida-reverse description: Reverse engineer binaries with IDA Pro: decompilation, disassembly, data-flow tracking, cross-references, and IDA MCP automation for deep static analysis of PE/ELF/Mach-O targets. category: AI & Agents source: antigravity tags: [python, api, mcp, claude, ai, llm, automation, cro] url: https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/ida-reverse --- # IDA Pro 逆向分析技能 ## When to Use - Deep static analysis of a compiled target where IDA is
npx skillsauth add ranbot-ai/awesome-skills skills/ida-reverseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
idb_open(旧名 idalib_open)不要直接靠部分 AI 客户端 MCP 调用
Structured content does not match the tool's output schemascripts/open.ps1 脚本通过 HTTP API 直调,绕过 MCP 校验层idb_open / idb_list / idb_save(不再是 idalib_*)session_id(database),后续工具调用需带该 sessionC:\Windows\System32\ 文件无权限打开
open.ps1 自动检测并复制到 临时目录 目录后再打开启动服务器命令阻塞对话
idalib-mcp 启动后会持续输出 INFO 日志到控制台scripts/start.ps1(-WindowStyle Hidden 后台静默启动)MCP 服务器名不能用横线
ida-pro-mcp 作为服务器名,可能引起工具注册问题idapro,工具前缀 idapro_*Remote HTTP vs Local Stdio
type:"local"(stdio)模式:idalib_open 同样有 schema 校验问题type:"remote"(HTTP)模式:可以先用脚本直开文件,再用 MCP 工具PR #389 修复了部分 schema 问题
main 分支版本idalib 超时留下孤儿 worker 进程锁文件
open.ps1 超时后,idalib 的 python worker 子进程可能变成孤儿,咬着 .id0/.id1/.nam 不放taskkill /F /T 杀进程树——/T 会把 GUI ida.exe 子进程一起干掉start.ps1 只在端口无人监听、或 tools/list 快速返回但缺 py_eval(旧 supervisor)时替换 managed supervisor;RPC 超时且 13337 仍在听视为忙,不杀open.ps1 检测到旧库被锁自动复制到 Temp 并加 GUID 前缀带自动分析打开看起来像卡死
idalib_open(run_auto_analysis=true) 可能长时间不回包,但后端实际上仍在继续打开和分析open.ps1 新增 -TimeoutSeconds,并改为后台请求 + 前台轮询 + 定时进度输出OK:文件名:session_id,超时则返回 ERR:open_timeout_xxsHTTP MCP 会在登录后静默退出
type: http 不会代为拉起进程;旧计划任务只在登录时跑一次pythonw 无控制台,崩溃时 Application 日志也是空的start.ps1 默认健康则复用;watchdog.ps1 每分钟巡检;日志在 %LOCALAPPDATA%\reverse-skill\ida-mcp\scripts/install-autostart.ps1。Cursor 若启动时端口还没起来,仍需在 MCP 面板手动刷新一次| 步骤 | 做什么 | 用什么 |
|------|--------|--------|
| 1 | 确保 HTTP 服务器在运行 | scripts/start.ps1(无参数) |
| 2 | 打开目标二进制文件 | scripts/open.ps1 -Path "xxx.exe" |
| 3 | 使用 MCP 分析工具 | 直接调用 idapro_* / HTTP tools(约 65 个,视版本而定) |
| 4 | 分析完毕 | 工具自动可用 |
路径:scripts/start.ps1
IDADIR(环境变量 / 便携版桌面路径 / 常见安装路径)Python314\python.exe -m ida_pro_mcp.idalib_supervisorhttp://127.0.0.1:13337/mcp,健康则输出 OK:<n>:reuse 并退出tools/list 超时 → WARN:busy / OK:busy:reuse,不杀(supervisor 单线程,开库时无法回包)py_eval 时替换 managed supervisor;永不杀 ida.exe,不用 taskkill /TWARN:gui_busy 并退出,不另起 supervisorOK:<工具数>(当前约 66),失败输出 ERR:timeout%LOCALAPPDATA%\reverse-skill\ida-mcp\supervisor.log调用方式:
powershell -File "<skill-root>\ida-reverse\scripts\start.ps1"
watchdog.ps1:探测 13337,健康则 OK:<n>:reuse,挂了才调用 start.ps1install-autostart.ps1:注册计划任务 reverse-skill-ida-mcp(登录 + 每分钟)%LOCALAPPDATA%\reverse-skill\ida-mcp\watchdog.log路径:scripts/open.ps1
idb_open,绕过 MCP schema 校验.id0/.id1/.nam/.til/.i64)-TimeoutSeconds,超时后返回 ERR:open_timeout_xxs,不会无限卡住INFO:opening:已用时/超时秒数,便于判断仍在分析中OK:文件名:session_id,降级时加 (temp copy) 标记调用方式:
powershell -File "<skill-root>\ida-reverse\scripts\open.ps1" -Path "C:\path\to\file.exe"
可选参数:
# 指定 SessionId
powershell -File "scripts\open.ps1" -Path "file.exe" -SessionId "my_session"
# 跳过自动分析(大文件推荐)
powershell -File "scripts\open.ps1" -Path "large.exe" -NoAutoAnalysis
# 设置超时,避免带自动分析时长时间无返回
powershell -File "scripts\open.ps1" -Path "file.exe" -TimeoutSeconds 600
输出约定:
# 分析进行中(每 10 秒输出一次)
INFO:opening:11/600s
# 成功打开
OK:sample.exe:abcd1234
# 成功打开,但因锁文件降级到 Temp 副本
OK:1234abcd-sample.exe:abcd1234 (temp copy)
# 达到超时上限
ERR:open_timeout_600s
实测说明:
Snipaste.exe 带自动分析实测约 324s 才返回成功,属于“分析很久”而不是“脚本死锁”-TimeoutSeconds 600idapro_survey_binary(detail_level="minimal") — 快速概况:函数数、字符串、段、入口点、导入分类(加密/网络/文件IO)idapro_list_funcs(queries) — 列出函数(分页、按名称过滤)idapro_list_globals(queries) — 列出全局变量idapro_entity_query(kind, filter) — 统一查询:functions/globals/imports/strings/namesidapro_decompile(addr) — 反编译为伪代码idapro_disasm(addr, max_instructions=N) — 反汇编tools
Delegate coding tasks to the Grok Build CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
--- name: graceful-shutdown description: Implement graceful shutdown for servers and workers: drain connections, finish in-flight work, release resources, and exit cleanly on SIGTERM/SIGINT. category: AI & Agents source: antigravity tags: [python, typescript, node, api, claude, ai, template, docker, kubernetes] url: https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/graceful-shutdown --- # Graceful Shutdown ## Overview A skill for implementing graceful shutdown in server
development
--- name: falsify description: The scientific thinking protocol for AI agents. Use when facing complex, ambiguous, or high-stakes questions where guessing is costly: hypothesis → attempt to break it → evidence → calibrated co category: Creative & Media source: antigravity tags: [markdown, claude, ai, agent, llm, template, design, security, rag, cro] url: https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/falsify --- # Falsify — The Scientific Thinking Protocol > Think like
tools
Configure approved delegation lanes across installed implementer CLIs, including optional model and effort choices, then write global or project config only after explicit user approval.