/ الدليل / الملعب / ipsw-skill
● مجتمع blacktop 🔑 يتطلب مفتاحك

ipsw-skill

بواسطة blacktop · blacktop/ipsw-skill

قم بقيادة واجهة سطر الأوامر "ipsw" من وكيلك - تنزيل/استخراج IPSW، واختلافات kernelcache، وفرز Mach-O، ورؤوس ObjC ذات الإطار الخاص.

تقوم ipsw-skill بتعليم كلود (والوكلاء المتوافقين مثل Codex CLI / Gemini CLI) كيفية تشغيل ipsw الخاص بـ blacktop - وهو CLI للجيش السويسري لبرامج Apple الثابتة والتحليل الثنائي. فهو يعرف الأوامر الفرعية لتنزيل/استخراج IPSWs ومخابئ kernel، وتفريغ رؤوس 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 نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

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

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "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 — الشراب تثبيت بلاكتوب/اضغط/ipsw
  • dyld_shared_cache المستخرج من IPSW — استخدم استخراج ipsw على IPSW الذي قمت بتنزيله
الخطوات
  1. تحميل IPSW
    استخدم تنزيل ipsw لإصدار iOS الذي أحدده.✓ تم النسخ
    → IPSW المحفوظة محليا
  2. استخراج ذاكرة التخزين المؤقت المشتركة
    قم باستخراج dyld_shared_cache من IPSW.✓ تم النسخ
    → تم استخراج ملف ذاكرة التخزين المؤقت المشترك
  3. تفريغ الرؤوس للإطار المستهدف
    تفريغ رؤوس Obj-C لـ <FrameworkName>.✓ تم النسخ
    → تفريغ الرأس مع الفئات والمحددات

النتيجة: لديك رؤوس قابلة للقراءة للاختلاف عبر الإصدارات.

المزالق
  • الخلط بين ثنائيات المحاكاة وثنائيات الجهاز — حدد دائمًا الجهاز/القوس الذي تدرسه؛ تختلف شرائح المحاكاة
اجمعها مع: ghidrassistmcp

تختلف ذاكرة التخزين المؤقت لـ kernel عبر إصدارين لنظام التشغيل iOS

👤 باحثون في Kernel وXNU ⏱ ~60 min advanced

متى تستخدمه: تم إسقاط إصدار iOS جديد؛ تريد أن ترى ما تغير في النواة.

الخطوات
  1. قم باستخراج كلا kernelcaches
    قم باستخراج ذاكرة التخزين المؤقت kernelcache من IPSW A وIPSW B.✓ تم النسخ
    → ملفان kernelcache على القرص
  2. فرق
    قم بالتمييز بين مخزني النواة؛ قائمة الرموز المضافة/المحذوفة/المعدلة.✓ تم النسخ
    → تغيير القائمة مع فئات الرمز

النتيجة: سجل التغيير المركز للتغييرات على مستوى النواة.

المزالق
  • التعامل مع إعادة ترتيب الرموز كتغيير ذي معنى — اسمح لمجموعة الأدوات بإعادة الترتيب مقابل الإضافات/الإزالة الحقيقية

تدقيق Mach-O للاستحقاقات والخصائص المشبوهة

👤 يقوم مراجعو AppSec والمطورون بمراجعة تبعيات الطرف الثالث ⏱ ~20 min intermediate

متى تستخدمه: تريد التحقق من استحقاقات وواردات الملف الثنائي قبل شحنه مع تطبيقك.

الخطوات
  1. فحص Mach-O
    إظهار أوامر التحميل، LC_CODE_SIGNATURE، واستحقاقات <path>.✓ تم النسخ
    → قائمة الاستحقاقات + معلومات التوقيع
  2. قائمة الواردات
    قائمة الرموز المستوردة مجمعة حسب الإطار.✓ تم النسخ
    → مسح جدول الاستيراد

النتيجة: تقرير تدقيق موجز يمكنك حفظه في سلسلة المراجعة.

اجمعها مع: xcodebuild

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

ipsw-skill + ghidrassistmcp

قم بتسليم الوظائف التي تهم غيدرا لإجراء تحليل أعمق

من واردات Mach-O، اختر الوظيفة المشبوهة وافتحها في Ghidra.✓ تم النسخ

استخدم قواعد اللعبة RE الأوسع نطاقًا جنبًا إلى جنب مع أدوات ipsw الخاصة بشركة Apple

قم بدمج سير عمل 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 دراسة واجهات برمجة التطبيقات الخاصة بالإطار 0
ipsw kernel diff two kernelcaches تحليل نواة الإصدار إلى الإصدار 0
ipsw macho info/ent Mach-O path الفرز الثنائي 0

التكلفة والحدود

تكلفة التشغيل

حصة API
لا أحد
الرموز لكل استدعاء
يختلف الإخراج مع حجم القطعة الأثرية؛ أوامر النطاق بإحكام
التكلفة المالية
حر؛ التنزيلات تكلف عرض النطاق الترددي فقط
نصيحة
استخدم علامات التصفية الخاصة بـ ipsw حتى لا يقوم الوكيل بلصق 50 ميجابايت من الرموز في السياق.

الأمان

الصلاحيات والأسرار ونطاق الأثر

تخزين بيانات الاعتماد: لا شيء مطلوب للتشغيل الأساسي
نقل البيانات الخارجي: يقوم "تنزيل ipsw" بسحب IPSWs من خوادم Apple العامة. لا يوجد قياس إضافي عن بعد من المهارة نفسها.

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

ipsw: لم يتم العثور على الأمر

قم بتثبيت CLI عبر Homebrew Tap: Brew install blacktop/tap/ipsw.

تحقق: which ipsw
انتهت مهلة التنزيل

يمكن أن تكون خوادم Apple محددة للسعر؛ أعد المحاولة باستخدام --resume. تأكد من أن شبكتك تسمح بالتنزيلات الكبيرة.

تحقق: curl -I https://appldnld.apple.com/...
إرجاع تفريغ الفصل الدراسي فارغًا

تأكد من الإشارة إلى ذاكرة التخزين المؤقت المشتركة للجهاز/القوس الصحيح. تكون ذاكرة التخزين المؤقت للمحاكاة منفصلة عن ذاكرة التخزين المؤقت الخاصة بالجهاز.

تحقق: ipsw dyld info <cache>

البدائل

ipsw-skill مقابل البدائل

البديلمتى تستخدمهاالمقايضة
ghidrassistmcpتريد التفكيك الكامل والبرمجة النصية عبر غيدراأثقل بكثير؛ بدء تشغيل أبطأ
ida-pro-mcpلقد قمت بالفعل بترخيص IDA Pro وتريد تكامل MCPأداة تجارية
reverse-engineering-assistantتريد مساعدًا أوسع لسير عمل REليست خاصة بآبل

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills