Communitygithub.com

IDA Pro 逆向分析技能

提供通过 IDA Pro 进行二进制逆向分析的能力,包含 headless 与 GUI 模式,支持自动分析、反编译、数据流追踪等完整工作流。

IDA Pro 逆向分析技能 是什麼?

此技能为 AI 助手(如 Claude Code、Cursor 等)提供基于 IDA Pro 的完整二进制逆向分析能力。它封装了 ida-pro-mcp HTTP API,支持 headless(自动)和 GUI 交互两种模式。核心功能包括:文件打开(自动绕过 System32 权限与锁文件问题)、全局概况 Survey、反编译/反汇编、交叉引用分析、数据流追踪、类型系统操作、Patch 修改以及报告生成。技能通过 PowerShell 脚本(start.ps1, open.ps1, watchdog.ps1)管理 IDA MCP 服务器的生命週期,并内建了针对常见坑(如 MCP schema 校验 BUG、孤儿进程锁、长时间分析误判为卡死)的自动修复与降级机制。它要求分析前必须将导入表/分类写入 Evidence,禁止跳过步骤或暴力破解,确保分析的严谨与可复现。

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/ida-reverse

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

IDA Pro 逆向分析技能 是做什麼的?

ACTION REQUIRED(讀完後立刻執行)

  1. NOW: 讀取 ../field-journal/precedent-reverse.md — 確認本 skill 的操作是已授權的常規操作
  2. NOW: 確認當前任務是否命中本 skill 的適用範圍
  3. NEXT: 讀取 ../tool-index.md,校驗工具可用性和實際路徑
  4. NEXT: 缺工具時調用 bootstrap,不要猜路徑
  5. ACT: 進入"工作流"第一步並執行,不要停在確認狀態

已知問題與反思(必讀)

踩過的坑

  1. idb_open(舊名 idalib_open)不要直接靠部分 AI 客戶端 MCP 調用

    • 部分代碼 AI 客戶端的 MCP 客戶端對 open 類工具的 output schema 校驗有 BUG
    • 報錯:Structured content does not match the tool's output schema
    • 解決辦法:使用 scripts/open.ps1 腳本通過 HTTP API 直調,繞過 MCP 校驗層
    • 當前 ida-pro-mcp 2.x 工具名為 idb_open / idb_list / idb_save(不再是 idalib_*)
    • 文件打開後返回 session_id(database),後續工具調用需帶該 session
  2. C:\Windows\System32\ 文件無權限打開

    • idalib 無法直接讀取 System32 目錄下的文件
    • 解決辦法:open.ps1 自動檢測並複製到 臨時目錄 目錄後再打開
  3. 啟動服務器命令阻塞對話

    • idalib-mcp 啟動後會持續輸出 INFO 日誌到控制台
    • 解決辦法:使用 scripts/start.ps1(-WindowStyle Hidden 後台靜默啟動)
    • 腳本會等待服務就緒後自動退出,不阻塞對話
  4. MCP 服務器名不能用橫線

    • 之前用 ida-pro-mcp 作為服務器名,可能引起工具註冊問題
    • 當前配置:服務器名 idapro,工具前綴 idapro_*
  5. Remote HTTP vs Local Stdio

    • type:"local"(stdio)模式:idalib_open 同樣有 schema 校驗問題
    • type:"remote"(HTTP)模式:可以先用腳本直開文件,再用 MCP 工具
    • 當前方案:Remote HTTP 模式
  6. PR #389 修復了部分 schema 問題

    • 作者 mrexodia 在 issue #388 後通過 PR #389 合併了修復
    • 修復了 HTTP 模式下的 structuredContent schema,但部分代碼 AI 客戶端側校驗仍有問題
    • 已安裝最新 main 分支版本
  7. idalib 超時留下孤兒 worker 進程鎖文件

    • 第一次 open.ps1 超時後,idalib 的 python worker 子進程可能變成孤兒,咬着 .id0/.id1/.nam 不放
    • 後續任何工具或手動拖入 IDA GUI 都會報"權限不足"
    • 禁止 taskkill /F /T 殺進程樹——/T 會把 GUI ida.exe 子進程一起幹掉
    • 解決辦法:start.ps1 只在端口無人監聽、或 tools/list 快速返回但缺 py_eval(舊 supervisor)時替換 managed supervisor;RPC 超時且 13337 仍在聽視為忙,不殺。開庫時 open.ps1 寫 opening.lock,watchdog 不得 -Force
    • 死鎖例外:tools/list 連續失敗超過 3 分鐘(按 last-healthy 時間戳,不是進程創建時間),且沒有 in-flight opening.lock、不是 GUI 佔端口時,才 -Force 替換 supervisor,仍不殺 ida.exe
    • 兜底:open.ps1 檢測到舊庫被鎖自動複製到 Temp 並加 GUID 前綴
  8. 帶自動分析打開看起來像卡死

    • idalib_open(run_auto_analysis=true) 可能長時間不回包,但後端實際上仍在繼續打開和分析
    • 之前用戶側看到的是 "PowerShell 一直無輸出",容易誤判成腳本卡死
    • 當前解決辦法:open.ps1 新增 -TimeoutSeconds,並改為後台請求 + 前台輪詢 + 定時進度輸出
    • 輪詢到會話已就緒時會提前返回 OK:文件名:session_id,超時則返回 ERR:open_timeout_xxs
  9. HTTP MCP 會在登錄後靜默退出

    • Cursor/Claude 的 type: http 不會代為拉起進程;舊計劃任務只在登錄時跑一次
    • pythonw 無控制台,崩潰時 Application 日誌也是空的
    • 解決辦法:start.ps1 默認健康則復用;watchdog.ps1 每分鐘巡檢;日誌在 %LOCALAPPDATA%\reverse-skill\ida-mcp\
    • 安裝:scripts/install-autostart.ps1。HTTP 客戶端若啟動時端口還沒起來,仍需在 MCP 面板手動刷新一次
  10. Streamable HTTP GET /mcp 會卡住單線程 supervisor

  • 部分 HTTP MCP 客戶端會對 /mcp 髮長連接 GET(SSE)。stock idalib_supervisor 用 background=False 的 HTTPServer,一次只處理一個請求
  • 結果:tools/list 超時,客戶端把 idapro 標成 error
  • 解決辦法:run-supervisor.py 把 HTTP 換成 ThreadingHTTPServer 並接受 GET /mcp;補丁失敗則跳過並仍啟動 supervisor。卡住時用 scripts/recover.ps1(立刻 -Force)

工作流程原則

步驟做什麼用什麼
1確保 HTTP 服務器在運行scripts/start.ps1(無參數)
2打開目標二進制文件scripts/open.ps1 -Path "xxx.exe"
3使用 MCP 分析工具直接調用 idapro_* / HTTP tools(約 65 個,視版本而定)
4分析完畢工具自動可用

腳本資源

start.ps1 — 啟動 MCP HTTP 服務器

路徑:scripts/start.ps1

  • 自動解析 IDADIR(環境變量 / 便攜版桌面路徑 / 常見安裝路徑)
  • 優先使用 IDA 自帶 Python314\python.exe -m ida_pro_mcp.idalib_supervisor
  • 默認先探測 http://127.0.0.1:13337/mcp,健康則輸出 OK:<n>:reuse 並退出
  • 13337 在聽但 tools/list 超時 → WARN:busy / OK:busy:reuse,不殺(開庫或 GUI 佔用時無法回包)
  • tools/list 連續失敗超過 3 分鐘(last-healthy 時間戳)且無 opening.lock → 視為死鎖,輸出 INFO:deadlock 並 -Force 替換 supervisor。進行中的 idb_open 和 GUI 不會走這條路徑
  • 僅在端口無人監聽、缺 py_eval、或上述死鎖時替換 managed supervisor;永不殺 ida.exe,不用 taskkill /T
  • GUI 佔用 13337 時輸出 WARN:gui_busy 並退出,不另起 supervisor
  • 成功輸出 OK:<工具數>(當前約 66),失敗輸出 ERR:timeout
  • supervisor 日誌:%LOCALAPPDATA%\reverse-skill\ida-mcp\supervisor.log
  • 服務器在後台運行,不阻塞對話

調用方式:

powershell -File "<skill-root>\ida-reverse\scripts\start.ps1"

watchdog.ps1 / recover.ps1 / install-autostart.ps1 — 保活

  • watchdog.ps1:探測 13337;健康 reuse(並刷新 last-healthy);GUI / open.ps1 開庫鎖 / last-healthy 未滿 3 分鐘的 busy → reuse;只有 tools/list 連續失敗超過 3 分鐘才 start.ps1 -Force
  • recover.ps1:立刻 start.ps1 -Force(不殺 ida.exe)。HTTP 客戶端把 idapro 標成 error 時用這個
  • install-autostart.ps1:註冊計劃任務 reverse-skill-ida-mcp(登錄 + 每分鐘)
  • 日誌:%LOCALAPPDATA%\reverse-skill\ida-mcp\watchdog.log

open.ps1 — 打開二進制文件

路徑:scripts/open.ps1

  • 通過 HTTP API 直調 idb_open,繞過 MCP schema 校驗
  • 自動檢測 System32 路徑並複製到臨時目錄
  • 自動清理同名舊數據庫文件(.id0/.id1/.nam/.til/.i64)
  • 舊庫被鎖時自動降級:複製到 Temp 加 GUID 前綴後打開,不報錯
  • 將打開請求放到後台執行,避免長時間同步等待導致腳本無響應
  • 支持 -TimeoutSeconds,超時後返回 ERR:open_timeout_xxs,不會無限卡住
  • 每隔 10 秒輸出一次 INFO:opening:已用時/超時秒數,便於判斷仍在分析中
  • 成功輸出 OK:文件名:session_id,降級時加 (temp copy) 標記
  • 失敗時自動重試走 Temp 副本

調用方式:

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 才返回成功,屬於"分析很久"而不是"腳本死鎖"
  • 因此遇到 GUI 程序或較複雜樣本時,建議優先顯式設置 -TimeoutSeconds 600

核心工具列表

概況分析(第一步)

  • idapro_survey_binary(detail_level="minimal") — 快速概況:函數數、字符串、段、入口點、導入分類(加密/網路/文件IO)
  • idapro_list_funcs(queries) — 列出函數(分頁、按名稱過濾)
  • idapro_list_globals(queries) — 列出全局變量
  • idapro_entity_query(kind, filter) — 統一查詢:functions/globals/imports/strings/names

反編譯與反彙編

  • idapro_decompile(addr) — 反編譯為偽代碼
  • idapro_disasm(addr, max_instructions=N) — 反彙編
  • idapro_analyze_function(addr, include_asm=false) — 綜合分析(偽代碼+字符串+常量+調用者+被調用者+塊)
  • idapro_func_profile(queries) — 函數概要指標

交叉引用與數據流

  • idapro_xrefs_to(addrs) — 查誰引用目標地址
  • idapro_xref_query(addr, direction) — 高級 xref 查詢(方向/類型過濾)
  • idapro_callees(addrs) — 子函數列表
  • idapro_callgraph(roots, max_depth) — 調用圖
  • idapro_trace_data_flow(addr, direction, max_depth) — 數據流追蹤(forward/backward)

搜索

  • idapro_find_regex(pattern, limit) — 正則搜字符串
  • idapro_search_text(pattern) — 在反彙編列表中搜文本
  • idapro_find_bytes(patterns, limit) — 字節模式搜索(支持 ?? 通配符)
  • idapro_find(type, targets) — 高級搜索(立即數/字符串/引用)

內存與數據

  • idapro_get_bytes(addrs) — 讀原始字節
  • idapro_get_string(addrs) — 讀字符串
  • idapro_get_int(queries) — 讀整數值
  • idapro_get_global_value(queries) — 讀全局變量值
  • idapro_read_struct(queries) — 讀結構體字段值
  • idapro_search_structs(filter) — 搜索結構體

修改操作

  • idapro_set_comments(items) — 添加註釋(反彙編+反編譯雙向同步)
  • idapro_append_comments(items) — 追加註釋
  • idapro_rename(batch) — 批量重命名(函數/全局/局部/棧變量)
  • idapro_patch_asm(items) — Patch 彙編指令
  • idapro_patch(patches) — Patch 字節
  • idapro_define_func(items) — 定義函數
  • idapro_undefine(items) — 取消定義
  • idapro_define_code(items) — 將字節轉為代碼

類型系統

  • idapro_declare_type(decls) — 聲明 C 結構體/枚舉/聯合體
  • idapro_set_type(edits) — 應用類型到函數/全局/局部
  • idapro_infer_types(addrs) — 推斷類型
  • idapro_type_query(queries) — 查詢已聲明類型
  • idapro_type_inspect(queries) — 查看類型詳情

棧幀

  • idapro_stack_frame(addrs) — 查看棧幀變量
  • idapro_declare_stack(items) — 聲明棧變量
  • idapro_delete_stack(items) — 刪除棧變量

簽名

  • idapro_make_signature(addrs) — 為地址生成唯一字節簽名
  • idapro_make_signature_for_function(addrs) — 為函數生成簽名
  • idapro_find_xref_signatures(addrs) — 為引用地址的代碼生成簽名

調試器(需要 ?ext=dbg)

  • idapro_open_file(file_path) — 在 GUI IDA 實例中打開文件
  • 調試器工具默認隱藏,可通過 URL 參數 ?ext=dbg 啟用

會話管理(ida-pro-mcp 2.x)

  • idapro_idb_open / HTTP idb_open — ⚠️ 建議用 open.ps1 打開
  • idapro_idb_list / HTTP idb_list — 列出所有 session
  • idapro_idb_save / HTTP idb_save — 保存數據庫
  • 多數分析工具需要 database=<session_id> 參數(open.ps1 輸出的 session)

其他

  • idapro_int_convert(inputs) — 進制轉換(必須用這個,不要自己算進制!)
  • idapro_export_funcs(addrs, format) — 導出函數(json/c_header/prototypes)
  • idapro_py_eval(code) — 在 IDA 上下文執行 Python
  • idapro_server_health() — 服務器健康檢查
  • idapro_server_warmup() — 預熱子系統(字符串緩存、Hex-Rays 等)

逆向分析完整工作流

Step 1: 啟動服務器

路徑 A — Headless idalib(需要有效 license)

powershell -File "scripts/start.ps1"

輸出 OK:<工具數>(當前約 65)表示就緒。

路徑 B — GUI + 插件(idalib license 失敗或需要交互分析時)

powershell -File "scripts/start-gui.ps1" -Path "C:\目標.exe"

或雙擊便攜版 Launch-IDA-Pro.cmd,在 IDA 中打開樣本。

確認 Output 窗口出現 [MCP] ... port=13337 後,MCP 工具即可用。

通用對接步驟見 LOCAL-SETUP.md。

Step 2: 打開文件

Headless:

powershell -File "scripts/open.ps1" -Path "C:\目標.exe" -TimeoutSeconds 600

輸出 OK:文件名:session_id 表示成功(後帶 (temp copy) 表示自動降級到臨時副本)。

若出現 ERR:idalib_license:...,改用路徑 B(GUI 模式),不要反覆重試 open.ps1。

GUI 模式:在 IDA 裡直接 Open 樣本即可,無需 open.ps1。

Step 3: 全局概覽(含導入表硬門)

idapro_survey_binary(detail_level="minimal")

關注:

  • 架構(x86/x64/ARM)
  • 入口點(main/WinMain/DllMain)
  • 有趣的字符串(URL、路徑、錯誤消息)
  • 導入分類(MUST):加密函數 / 網路 API / 文件操作 / 進程注入 / 註冊表 — 必須落成 Evidence(建議 id:E-imports),可用 idapro_entity_query(kind="imports") 或 survey 輸出中的 imports 段
  • DLL/SYS:導出表與導入表並列(Evidence E-exports)
  • .NET:無傳統 IAT 時用模塊/元數據/託管引用摘要作為等價錨點寫入 E-imports 語義槽
  • 乾淨導入表:註明動態加載嫌疑,推動動態 API 斷點驗證
  • 熱門函數(高 xref 計數的函數通常是關鍵邏輯)

硬門禁:未將 imports 視圖/分類摘要(或合法等價錨點)寫入 Evidence 前,MUST NOT 進入 Step 4 深挖結論,MUST NOT 聲稱 survey 完成。導入表為空或查詢失敗時仍 MUST 記錄失敗現象。加殼 IAT 修復失敗時 MUST 記 E-iat-repair-fail 並轉動態調試抓 API,禁止靜態死磕。用戶要求重做導入表/IAT 檢查時 MUST 重做被點名步驟(阻塞時可行性門閂:說明+確認;強制則標 quality=unreadable),禁止改換無關步驟。

Step 4: 深入關鍵函數

idapro_analyze_function(addr="關鍵函數名")

或:

idapro_decompile(addr="函數名")
idapro_disasm(addr="函數名", max_instructions=50)

Step 5: 數據流和交叉引用

idapro_xrefs_to(addrs="關鍵地址/字符串")
idapro_callgraph(roots=["關鍵函數"], max_depth=3)
idapro_trace_data_flow(addr="關鍵地址", direction="backward", max_depth=5)

Step 6: 記錄和優化

idapro_set_comments(items=[{"addr": "0x140001000", "comment": "你的理解"}])
idapro_rename(batch={"func": [{"addr": "函數地址", "name": "有意義的名字"}]})

Step 7: 輸出報告

分析完成後,生成 report.md 記錄發現和步驟。

Prompt 工程準則

  1. 不要手動算進制 — 任何時候需要轉換數字,用 idapro_int_convert
  2. 先 survey 後深入 — 先看概況再針對性分析
  3. 持續加註釋和重命名 — 分析過程中不斷更新函數名和變量名,提升後續分析的準確性
  4. 跟蹤交叉引用 — 發現有趣的數據/字符串,用 xrefs_to 看誰引用了它
  5. 遇到混淆代碼 — 先做字符串解密、導入哈希去除、控制流平坦化去除等預處理
  6. C++ STL 代碼 — 用 FLIRT/Lumina 識別庫函數後,再分析業務邏輯
  7. 不要暴力破解 — 分析應從反彙編中推導解決方案,用簡單 Python 輔助計算
  8. 遇到 "No database bound" — 還沒有打開任何二進制文件,先執行 open.ps1
  9. 遇到 "Failed to open database" — 可能是舊數據庫文件被鎖,open.ps1 會自動降級到 Temp 副本(輸出含 (temp copy) 標記)
  10. 帶自動分析打開 GUI/複雜樣本時 — 默認加 -TimeoutSeconds 600,不要把長時間 INFO:opening:... 誤判成腳本卡死

路由上下文

上游入口: skills/SKILL.md(總控)、routing.md 上游備選: radare2/(如果不想開 IDA,可以先 r2 快速偵查) 下游出口:

  • 需 Frida 動態驗證 → reverse-engineering/tools-dynamic.md
  • 需符號執行/angr → reverse-engineering/tools-dynamic.md
  • 需通用逆向方法論 → reverse-engineering/SKILL.md

同級關聯模塊: radare2/(IDA 不可用時替代方案)


按需自舉(On-Demand Bootstrap)

本 skill 的入口腳本已接入統一自舉系統。

自動化能力邊界

工具可自動安裝安裝方式說明
idalib-mcp✓pip install (from GitHub)start.ps1 缺失時自動安裝
IDA Pro 本體✗商業軟體,需手動安裝設置 IDADIR 環境變量指向安裝目錄

安裝步驟(已驗證)

# 1. 設置 IDA 路徑(替換為你的實際 IDA 安裝目錄)
setx IDADIR "<你的IDA安裝目錄>"

# 2. 從 GitHub 安裝 ida-pro-mcp(PyPI 上的 ida-mcp 是另一個項目,不要裝錯!)
pip install git+https://github.com/mrexodia/ida-pro-mcp.git

# 3. 安裝 IDA 插件(選擇 Streamable HTTP + Global + 全選客戶端)
ida-pro-mcp --install

# 4. 重啟 IDA Pro,打開目標文件
# 插件自動監聽 127.0.0.1:13337

# 5. 驗證
ida-pro-mcp --config

⚠️ 注意:PyPI 上的 ida-mcp 包(作者 jtsylve)是另一個項目,不是我們需要的。 必須從 GitHub 安裝 mrexodia/ida-pro-mcp。

自舉觸發點

  • scripts/start.ps1:缺 idalib-mcp 時自動調用 bootstrap-reverse.ps1
  • MCP 註冊:bootstrap 會自動把 idapro 寫入 Claude MCP 配置

前置條件

  • IDA Pro 已安裝且 IDADIR 環境變量已設置(或腳本內默認路徑正確)
  • 推薦使用 IDA 自帶 Python314 中的 ida-pro-mcp(便攜版已內置)
  • 常見本機配置:
    • User env IDADIR → IDA 安裝目錄(含 ida.exe)
    • 可選 ~\Tools\bin\idalib-mcp.cmd / ida-pro-mcp.cmd 包裝器
    • 客戶端 MCP 服務器名只留 idapro → http://127.0.0.1:13337/mcp

任務完成自檢(聲稱完成前 MUST 通過)

  • 我是否執行了工作流中的每一步(而不是只閱讀)?
  • survey/imports 是否已寫入 Evidence(E-imports 或等價)?DLL/SYS 是否含 E-exports?IAT 失敗是否記 E-iat-repair-fail?
  • 用戶若要求重做導入表/IAT,是否重做了同一步?
  • 我是否基於 tool-index 使用了真實工具路徑?
  • 我是否產出了可重現證據(命令/腳本/截圖/報告)?
  • 我是否完成並回寫了 RULES 要求的 Checklist 項?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

相關技能