العودة إلى التحديثات
New releaseSep 12, 2026

ipsw v3.1.716

سكين الجيش السويسري لأبحاث iOS/macOS

مشاركة

IPSW Logo

ipsw

سكين الجيش السويسري لأبحاث iOS/macOS


ipsw هي مجموعة أدوات سطر أوامر لأبحاث البرامج الثابتة من Apple والهندسة العكسية. قم بتنزيل وفك حزم IPSWs وOTAs، وافحص ثنائيات Mach-O وذاكرات dyld المشتركة، وحلّل kernelcaches، وتعامل مع أجهزة iOS المتصلة.

مهارة الوكيل · التثبيت · أمثلة CLI · التوثيق

استخدام ipsw مع وكيل ذكاء اصطناعي

ابدأ بـ ipsw-skill إذا كنت تعمل في Claude Code أو Codex أو Gemini CLI أو أي وكيل آخر يدعم المهارات. فهو يمنح الوكيل مراجع الأوامر وسير العمل لاستخراج البرامج الثابتة وتحليل الثنائيات وأبحاث منصة Apple.

ثبّت ipsw CLI، ثم أضف المهارة:

npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw

يمكنك بعد ذلك طلب مهمة بلغة طبيعية. على سبيل المثال:

نزّل أحدث IPSW لـ iPhone 15 Pro واستخرج kernelcache الخاص به.

استخرج ترويسات Objective-C الخاصة بـ SpringBoardServices من ذاكرة dyld المشتركة هذه.

قارن KEXTs في هذين kernelcaches.

يحتوي ملف README الخاص بالمهارة على تعليمات الإعداد للوكلاء الفرديين، بما في ذلك إضافة Claude Code وامتداد Gemini CLI.

التثبيت

macOS

تتضمن حزمة Homebrew الخاصة بالمشرف بناء extras:

brew install blacktop/tap/ipsw

صيغة Homebrew الأساسية متاحة أيضًا: brew install ipsw.

Linux

sudo snap install ipsw

Windows

scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw

يمكنك أيضًا تنزيل الثنائيات من GitHub Releases. راجع دليل التثبيت للحصول على حزم أخرى والتبعيات الاختيارية. تعتمد بعض الأوامر على نظام التشغيل المضيف أو نوع البناء؛ فدعم Frida، على سبيل المثال، له بناء منفصل.

ما يمكنك فعله

المجالالأدوات
البرامج الثابتةتنزيل IPSWs وOTAs ومثبّتات macOS وXcode وKDKs؛ استخراج المكونات ومقارنة البنيات
Mach-Oفحص أوامر التحميل والرموز والتوقيعات والاستحقاقات؛ تفكيك كود ARM64
ذاكرات dyld المشتركةالبحث عن الرموز والمراجع المتقاطعة، واستخراج dylibs، واستخراج ترويسات Objective-C، وفحص بيانات Swift الوصفية
النواةاستخراج KEXTs، وفحص استدعاءات النظام والرموز، ومقارنة kernelcaches
مكونات البرامج الثابتةتحليل IMG4، وفك تشفير أرشيفات AEA، وفحص iBoot وبرامج المعالج المساعد الثابتة
الأجهزةسرد الأجهزة والتطبيقات، ونقل الملفات عبر AFC، والتقاط السجلات، وتركيب صور المطورين
App Store Connectإدارة الشهادات ومعرّفات الحزم والأجهزة وملفات التزويد
الأبحاثرمزنة سجلات الأعطال، والتصحيح عبر SSH، والتتبع باستخدام Frida، والتفكيك باستخدام LLM

أمثلة CLI

استبدل مسارات الملفات في الأمثلة بمساراتك الخاصة. شغّل ipsw --help أو أضف --help إلى أي أمر فرعي لعرض خياراته.

تنزيل البرامج الثابتة واستخراجها

# Download the latest IPSW for iPhone 15 Pro
ipsw download ipsw --device iPhone16,1 --latest

# Inspect a local IPSW and extract its kernelcache
ipsw info /path/to/firmware.ipsw
ipsw extract --kernel /path/to/firmware.ipsw

# Compare two firmware builds
ipsw diff /path/to/old.ipsw /path/to/new.ipsw

استكشاف ذاكرة dyld مشتركة

ipsw dyld info /path/to/dyld_shared_cache_arm64e

# Extract Foundation for use in other tools
ipsw dyld extract /path/to/dyld_shared_cache_arm64e Foundation

# Dump headers directly from the cache
ipsw class-dump /path/to/dyld_shared_cache_arm64e SpringBoardServices --headers -o headers

استخدم الذاكرة مباشرة لتحليل Objective-C: لا تزال dylibs المستخرجة قادرة على الإشارة إلى بيانات وصفية مخزّنة في مكان آخر في الذاكرة.

فحص الثنائيات وkernelcaches

# Select an architecture explicitly for universal binaries
ipsw macho info /path/to/binary --arch arm64e
ipsw macho disass /path/to/binary --arch arm64e --symbol _main

# Search a directory of binaries for an imported symbol
ipsw macho search /path/to/binaries --import 'CCCrypt'

# List KEXTs, then extract one by its full bundle ID
ipsw kernel kexts /path/to/kernelcache
ipsw kernel extract /path/to/kernelcache com.apple.driver.ASIOKit -o kexts

التعامل مع جهاز متصل

ipsw idev list
ipsw idev apps ls
ipsw idev afc ls /
ipsw idev syslog

التفكيك باستخدام LLM

يمكن لأوامر macho disass وdyld disass إرسال التفكيك إلى مزوّد LLM مُهيّأ باستخدام --dec. راجع دليل المفكّك لإعداد المزوّد واختيار النموذج والأمثلة.

الإعداد والأتمتة

يقرأ CLI إعدادات YAML من ~/.config/ipsw/config.yaml؛ استخدم --config لاختيار ملف آخر. راجع config.example.yml ودليل الإعداد للإعدادات ومتغيرات البيئة.

بالنسبة للسكربتات، اختر معمارية باستخدام --arch عند فتح الثنائيات الشاملة، واستخدم مسار dylib كاملاً عندما يكون الاسم المختصر غامضًا. الأوامر التي تدعم --json توثّق ذلك في مساعدتها.

يكشف الخادم المنفصل ipswd عن REST API للأتمتة. راجع مرجع API.

التوثيق والمجتمع

عند الإبلاغ عن خطأ، أدرج ipsw version، والأمر الذي شغّلته، وبناء البرنامج الثابت أو نوع الملف ذي الصلة. احجب المعلومات الشخصية من السجلات وتقارير الأعطال.

البناء والمساهمة

يتطلب البناء من المصدر Go 1.26 أو أحدث وسلسلة أدوات C لـ CGO:

git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build

راجع CONTRIBUTING.md لإرشادات التطوير والمساهمة.

الشكر

شكرًا لـ Jonathan Levin على أدواته وتوثيقه لداخليات iOS، ولمجتمع أبحاث أمن Apple، ولكل من يساهم بالكود وتقارير الأخطاء والأبحاث.

الترخيص

MIT.

الفئات