Назад к обновлениям
New releaseSep 12, 2026

ipsw v3.1.716

Швейцарский нож для исследований iOS/macOS

Поделиться

IPSW Logo

ipsw

Швейцарский нож для исследований iOS/macOS


Что такое ipsw 🤔

ipsw — это комплексная исследовательская платформа с интерфейсом командной строки для iOS и macOS. Она предоставляет обширный набор инструментов для исследователей безопасности, специалистов по реверс-инжинирингу, разработчиков джейлбрейков и энтузиастов iOS для загрузки, разбора и анализа прошивок Apple, а также взаимодействия с устройствами iOS.

Основные возможности

  • 📱 Анализ IPSW/OTA — загрузка, извлечение и анализ файлов прошивок iOS
  • 🔍 Анализ бинарных файлов — расширенный разбор Mach-O с дизассемблированием ARM и поддержкой ИИ
  • 🧠 dyld_shared_cache — полный анализ общего кэша с дампом классов ObjC/Swift
  • 🔧 Анализ ядра — разбор kernelcache, извлечение системных вызовов и символизация
  • 📲 Взаимодействие с устройствами — комплексное управление и отладка устройств iOS
  • 🔐 Исследование прошивок — анализ IMG4, iBoot, SEP и прошивок сопроцессоров
  • 🏪 App Store Connect — полная интеграция API для управления приложениями и сертификатами
  • 🛠️ Инструменты разработчика — SSH, Frida, отладка и утилиты реверс-инжиниринга

Быстрый старт

Установка

macOS

С использованием blacktop tap (включая дополнительные компоненты)

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

Базовое использование

# Загрузка последней версии iOS IPSW
ipsw download ipsw --device iPhone16,1 --latest

# Извлечение kernelcache
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw

# Анализ dyld_shared_cache
ipsw dyld info /path/to/dyld_shared_cache_arm64

# Получение информации об устройстве
ipsw idev list

Основные функции

📱 Управление IPSW и OTA

  • Источники загрузки: Apple, AppleDB, Developer Portal, RSS-каналы, GitHub, iTunes, Wikipedia
  • Типы файлов: IPSW, OTA, установщики macOS, Xcode, KDK, файлы PCC
  • Операции: извлечение, сравнение, монтирование, анализ метаданных
ipsw download ipsw --device iPhone16,1 --latest
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
ipsw diff iPhone16,1_18.1_22B83_Restore.ipsw iPhone16,1_18.2_22C150_Restore.ipsw

🔍 Анализ бинарных файлов и реверс-инжиниринг

  • Разбор Mach-O: полный анализ бинарных файлов с извлечением символов
  • Дизассемблирование ARM: дизассемблер ARM v9-a с анализом на основе ИИ
  • Подпись кода: проверка подписей, анализ entitlements
  • Патчинг бинарных файлов: добавление, изменение или удаление патчей
ipsw macho info /path/to/binary
ipsw macho disass /path/to/binary --symbol _main
ipsw macho search /path/to/binary --string "password"

🧠 Анализ dyld_shared_cache

  • Разбор кэша: извлечение и анализ полной структуры общего кэша
  • Анализ ObjC: дампы классов, анализ методов, разбор протоколов
  • Поддержка Swift: дамп и анализ классов Swift (экспериментально)
  • Управление символами: извлечение символов и разрешение адресов
ipsw dyld info /path/to/dyld_shared_cache
ipsw dyld extract /path/to/dyld_shared_cache --dylib Foundation
ipsw dyld objc class /path/to/dyld_shared_cache --class NSString

📲 Взаимодействие с устройствами iOS (idev)

  • Файловая система: просмотр и передача файлов через AFC
  • Управление приложениями: установка, удаление и анализ приложений
  • Резервное копирование и восстановление: полные операции резервного копирования устройств
  • Разработка: монтирование образов разработчика, захват журналов, захват пакетов
  • Диагностика: информация о батарее, журналы сбоев, системная диагностика
ipsw idev list
ipsw idev afc ls /
ipsw idev apps ls
ipsw idev backup create
ipsw idev syslog

🔐 Анализ прошивок и безопасности

  • IMG4: разбор и расшифровка файлов формата Image4
  • iBoot: анализ и исследование загрузчика
  • SEP: анализ прошивки Secure Enclave Processor
  • AEA: расшифровка Apple Encrypted Archives
  • Сопроцессоры: анализ прошивок AOP, DCP, GPU, камеры
ipsw img4 dec iBoot.img4
ipsw fw sep iPhone16,1_18.2_22C150_Restore.ipsw
ipsw fw iboot iPhone16,1_18.2_22C150_Restore.ipsw

🏪 Интеграция с App Store Connect

  • Управление сертификатами: сертификаты и профили iOS/macOS
  • Регистрация устройств: управление устройствами разработки
  • Управление приложениями: Bundle ID, возможности и рецензии
  • Провижининг: полный жизненный цикл профилей провижининга
ipsw appstore cert ls
ipsw appstore device reg --name "My Device" --udid 1234567890
ipsw appstore profile create --name "Development Profile"

🛠️ Продвинутые исследовательские инструменты

  • Символизация: анализ журналов сбоев и разрешение символов
  • Дамп классов: извлечение классов ObjC и Swift
  • SSH-доступ: SSH к джейлбрейкнутым устройствам с debugserver
  • Интеграция Frida: возможности динамической инструментации
  • Декомпилятор на основе ИИ: интеграция с Claude, OpenAI, Gemini, Ollama и OpenRouter
ipsw symbolicate crash.ips --dsym /path/to/symbols
ipsw class-dump /path/to/binary
ipsw ssh debugserver

Архитектура

ipsw состоит из двух основных компонентов:

  • ipsw — основной CLI-инструмент с полными возможностями анализа
  • ipswd — демон REST API для удалённых операций и автоматизации

Конфигурация

ipsw поддерживает YAML-файлы конфигурации и переменные окружения:

# Создание каталога конфигурации
mkdir -p ~/.config/ipsw

# Копирование примера конфигурации
cp config.example.yml ~/.config/ipsw/config.yaml

Поддержка баз данных

  • SQLite (по умолчанию) — локальное хранилище
  • PostgreSQL — для производственных развёртываний

ИИ-декомпилятор

https://blacktop.github.io/ipsw/docs/guides/decompiler

❱ ipsw macho disass /System/Library/PrivateFrameworks/ApplePushService.framework/apsd --entry \
             --dec --dec-model "Claude 3.7 Sonnet"
   • Загрузка файла кэша символов...
   • Декомпиляция... 🕒
int main(int argc, char *argv[]) {
    @autoreleasepool {
        __set_user_dir_suffix(@"com.apple.apsd");

        @autoreleasepool {
            APSDaemon *daemon = [[APSDaemon alloc] init];

            if (daemon) {
                NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
                [runLoop run];
                [runLoop release];
            }

            [daemon release];
        }

        return 0;
    }

    @catch (NSException *exception) {
        if ([exception reason] == 1) {
            id exceptionObj = [exception retain];
            id logger = [APSLog daemon];

            if (_os_log_type_enabled(logger, 0x11)) {
                [exceptionObj logWithLogger:logger];
            }

            [logger release];
            [exceptionObj release];
        }
    }
}

Варианты использования

Исследование безопасности

  • Анализ уязвимостей и разработка эксплойтов
  • Оценка безопасности прошивок
  • Реверс-инжиниринг бинарных файлов

Разработка джейлбрейков

  • Анализ и эксплуатация bootchain
  • Исследование расширений ядра
  • Модификация и патчинг системы

Разработка iOS

  • Отладка и анализ приложений
  • Управление сертификатами и провижинингом
  • Тестирование устройств и автоматизация

Цифровая криминалистика

  • Извлечение и анализ данных устройств
  • Реконструкция таймлайнов
  • Анализ артефактов

Требования

  • Go: 1.26+ (для сборки из исходного кода)
  • Платформа: macOS, Linux, Windows
  • USB: libusb для взаимодействия с устройствами
  • Опционально: ключи API ИИ для расширенного анализа

Документация

  • Веб-сайт: https://blacktop.github.io/ipsw
  • Документация API: документация REST API доступна по адресу /docs при запуске ipswd
  • Примеры: комплексные примеры использования в документации

SKILL.md

Расширьте возможности ваших ИИ-агентов с помощью суперспособностей ipsw

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

🆕 Вики на основе ИИ

Задавайте вопросы о репозитории с помощью ИИ:

[!WARNING] Ответы ИИ могут содержать галлюцинации — проверяйте важную информацию.

Ресурсы сообщества

📊 IPSW Diffs

Предварительно вычисленные различия прошивок: ipsw-diffs

💬 Сообщество

GitHub Discussions

Участие в разработке

Мы приветствуем ваш вклад! Пожалуйста, ознакомьтесь с CONTRIBUTING.md для получения рекомендаций.

Разработка

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

Известные проблемы

  • Поддержка macOS IPSW: некоторые операции с прошивками macOS могут иметь проблемы совместимости
  • Тестирование: комплексное тестирование затруднено из-за разнообразия версий прошивок и типов устройств
  • Высокое потребление ресурсов: некоторые операции требуют значительного объёма памяти и вычислительной мощности

Создайте issue, если столкнулись с проблемами — исправления имеют высокий приоритет! Комплексный набор тестов запланирован для будущих релизов.

Благодарности

Огромное спасибо:

  • Джонатану Левину за его легендарные инструменты и исчерпывающую документацию по внутренностям iOS
  • Сообществу исследователей iOS за постоянные инновации и обмен знаниями
  • Всем контрибьюторам, которые помогают делать этот проект лучше

Лицензия

Лицензия MIT — подробности см. в LICENSE.

Категории