/ 目錄 / 演練場 / ipsw-skill
● 社群 blacktop 🔑 需要你的金鑰

ipsw-skill

作者 blacktop · blacktop/ipsw-skill

從您的代理程式驅動「ipsw」CLI — IPSW下載/解壓縮、kernelcache diffs、Mach-O分流、私有框架ObjC標頭。

ipsw-skill教Claude (以及Codex CLI/Gemini CLI等兼容代理)如何驅動blacktop的“ipsw” -用於Apple韌體和二進位分析的Swiss-army CLI。它知道下載/擷取IPSW和核心快取、從私有架構傾印Objective-C標頭、區分不同版本的內核、稽核軟體權利文件,以及檢查Mach-O二進位檔的子指令。 針對Apple平臺安全研究人員、逆向工程師和偵錯架構層級行為的工程師。

為什麼要用

核心特性

即時演示

實際使用效果

ipsw-skill.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ipsw-skill",
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "ipsw-skill": {
      "command": {
        "path": "claude",
        "args": [
          "plugin",
          "marketplace",
          "add",
          "blacktop/ipsw-skill"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add ipsw-skill -- claude plugin marketplace add blacktop/ipsw-skill

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: ipsw-skill

從私有框架傾印Obj-C標頭以進行API發現

👤 安全研究人員、SDK維護人員對抗Apple內部 ⏱ ~30 min advanced

何時使用: 您需要私人框架的公開表面(類別+選擇器名稱)來研究行為變化。

前置條件
  • 已安裝ipsw CLI — brew install blacktop/tap/ipsw
  • 從IPSW擷取的dyld_shared_cache — 在您下載的IPSW上使用ipsw提取
步驟
  1. 下載IPSW
    對於我指定的iOS版本,請使用ipsw download。✓ 已複製
    → 保存在本地
  2. 擷取共用快取
    從IPSW提取dyld_shared_cache。✓ 已複製
    → 已擷取共用快取檔案
  3. 目標架構的傾印標頭
    傾印的Obj-C標頭<FrameworkName>。✓ 已複製
    → 包含類別和選擇器的標頭傾印

結果: 您有不同版本的可讀標頭。

注意事項
  • 將模擬器二進位檔與裝置二進位檔混淆 — 始終指定您正在學習的裝置/拱門;模擬器切片不同
搭配使用: ghidrassistmcp

兩個iOS版本之間的差異核心快取

👤 Kernel和XNU研究人員 ⏱ ~60 min advanced

何時使用: 丟棄了新的iOS版本;您想查看內核中的變更。

步驟
  1. 解壓縮兩個核心快取
    從IPSW A和IPSW B擷取核心快取。✓ 已複製
    → 磁碟上的兩個核心快取檔案
  2. Diff
    區分兩個核心快取;列出新增/移除/修改的符號。✓ 已複製
    → 使用符號類別變更清單

結果: 內核層級變更的重點更新日誌。

注意事項
  • 將符號重新排序視為有意義的變更 — 讓工具羣組重新排序,而不是真正的新增/移除

稽核Mach-O的權利和可疑特徵

👤 AppSec審核人員、稽核第三方相依性的開發人員 ⏱ ~20 min intermediate

何時使用: 您想檢查二進制文件的軟體權利文件和匯入,然後再將其與應用程式一起運送。

步驟
  1. 檢查Mach-O
    顯示的LOAD指令、LC_CODE_SIGNATURE和軟體權利文件<path>。✓ 已複製
    → 軟體權利文件PLIST +簽名資訊
  2. 列出匯入
    按框架分組列出匯入的符號。✓ 已複製
    → 清除匯入表

結果: 您可以將簡明扼要的稽核報告儲存至評價紀錄。

搭配使用: xcodebuild

組合

與其他 MCP 搭配,撬動十倍槓桿

ipsw-skill + ghidrassistmcp

將感興趣的功能交給Ghidra進行更深入的分析

從Mach-O匯入中,選擇可疑功能並在Ghidra中打開它。✓ 已複製

與ipsw的Apple專用工具一起使用更廣泛的RE攻略

將通用RE工作流程與ipsw結合起來,以執行dyld快取工作。✓ 已複製
ipsw-skill + xcodebuild

建立本機應用程式,並驗證它們是否與您預期的權利設定檔相符

在xcodebuild之後,請在封存上執行ipsw軟體權利文件,以稽核最終登入的內容。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
ipsw download version/device selector 取得要分析的韌體 bandwidth only
ipsw extract IPSW + target (dsc / kernelcache / ramdisk) 從IPSW中提取特定工件 0
ipsw dyld class-dump dyld_shared_cache + framework 研究私有框架API 0
ipsw kernel diff two kernelcaches 版本到版本內核分析 0
ipsw macho info/ent Mach-O path 二元分流 0

成本與限制

運行它的成本

API 配額
每次呼叫 Token 數
輸出因雜訊大小而異;範圍命令嚴格
費用
免費;下載僅需付費頻寬
提示
使用ipsw的篩選標記,這樣客服人員就不會將50 MB的符號貼到上下文中。

安全

權限、密鑰、影響範圍

憑證儲存: 基本操作不需要
資料出站: 「ipsw download」會從Apple的公共伺服器中提取IPSW。技能本身沒有額外的遙測。

故障排查

常見錯誤與修復

ipsw:未找到命令

透過Homebrew TAP安裝CLI : BREW INSTALL BLACKTOP/TAP/IPSW。

驗證: which ipsw
下載逾時

Apple的伺服器可以設定速率限制;請使用--resume重試。請確保您的網路允許大量下載。

驗證: curl -I https://appldnld.apple.com/...
Class-dump返回空值

確認您已指向正確裝置/拱門的共用快取。模擬器快取與裝置快取分開。

驗證: ipsw dyld info <cache>

替代方案

ipsw-skill 對比其他方案

替代方案何時用它替代權衡
ghidrassistmcp您希望通過Ghidra全面拆卸和腳本重得多;啟動速度較慢
ida-pro-mcp您已取得IDA Pro授權,並希望整合MCP商業工具
reverse-engineering-assistant您需要更廣泛的RE工作流程助手非Apple特有

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills