Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ipaforge — Python CLI без зависимостей для распаковки, проверки, редактирования и пересборки архивов iOS .ipa, преобразующий plists и строки в XML с сохранением бинарных файлов Mach-O и подписывающих бандлов. | Kitploit
Инструменты/GitHubGitHub/vighnesh91/ipaforge
Статический анализБезопасность iOSАнализ КодаПентестинг мобильных приложенийОбратная инженерияТестирование на ПроникновениеМобильная безопасностьУтилиты и фреймворкиАнализ Бинарных Файлов
GitHubvighnesh91/ipaforge

ipaforge

Python CLI без зависимостей для распаковки, проверки, редактирования и пересборки архивов iOS .ipa, преобразующий plists и строки в XML с сохранением бинарных файлов Mach-O и подписывающих бандлов.

42 дней назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

#IPAForge

IPAForge — это инструмент командной строки на Python без зависимостей для распаковки, инспектирования, редактирования и пересборки архивов iOS .ipa.

Он извлекает полный архив, преобразует редактируемые форматы Apple plist и локализации в читаемый XML, сохраняет непрозрачное и бинарное содержимое байт-в-байт и записывает каждое преобразование в ipaforge.yml, чтобы фреймворк можно было достоверно пересобрать.

Используйте ответственно: IPAForge предназначен для совместимости, исследований в области безопасности и легитимного анализа приложений. Соблюдайте применимые законы, лицензии и условия обслуживания.

Возможности

  • Декодирование и пересборка стандартных архивов iOS .ipa.
  • Извлечение 100% содержимого архива; ничего не пропускается и не отбрасывается молча.
  • Преобразование бинарных plist с любым расширением файла в читаемый XML.
  • Преобразование устаревших текстовых файлов .strings в редактируемый XML.
  • Перекодирование преобразованных файлов обратно в их исходные нативные форматы во время сборки.
  • Сохранение бинарных файлов Mach-O и проприетарных форматов Apple, таких как .car, .nib и .
.mom
  • Извлечение встроенных entitlements и информации о provisioning profile в виде читаемых справочных данных.
  • Генерация метаданных классификации и преобразования для каждого файла в ipaforge.yml.
  • Встроенная ad-hoc подпись без необходимости во внешней утилите подписи.
  • Опциональная подпись реальным сертификатом с использованием сертификатов PKCS#12 и provisioning profiles.
  • Только стандартная библиотека; сторонние пакеты Python не требуются.
  • Требования

    • Рекомендуется Python 3.6 или новее.
    • Python 2.7 и Python 3.2+ поддерживаются слоем совместимости скрипта.
    • Действительный архив .ipa, содержащий бандл Payload/<AppName>.app.

    Установка

    IPAForge можно использовать напрямую как один файл Python:

    root@kitploit:~
    python3 ipaforge.py --help
    

    Чтобы установить команду ipaforge в ваш PATH:

    root@kitploit:~
    python3 ipaforge.py --install
    

    Чтобы извлечь поставляемые файлы дистрибутива без их установки:

    root@kitploit:~
    python3 ipaforge.py --extract
    

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

    Декодирование IPA

    root@kitploit:~
    ipaforge -d MyApp.ipa
    

    Это создаёт каталог фреймворка в текущем рабочем каталоге, обычно ./MyApp/.

    Редактирование декодированных файлов

    Изменяйте читаемые XML-файлы внутри сгенерированного фреймворка. Исходные данные архива и ссылки хранятся в original/; файлы, которые были преобразованы, отслеживаются в ipaforge.yml.

    Сборка новой IPA

    root@kitploit:~
    ipaforge -b MyApp
    

    По умолчанию вывод — ./MyApp-signed.ipa в текущем рабочем каталоге.

    Использование явных путей

    root@kitploit:~
    ipaforge -d MyApp.ipa decoded-framework
    ipaforge -b decoded-framework rebuilt.ipa
    

    Справочник командной строки

    root@kitploit:~
    ipaforge -d, --decode INPUT [OUTPUT]
    ipaforge -b, --build  INPUT [OUTPUT]
    
    ОпцияОписание
    -d, --decodeДекодировать IPA в редактируемый каталог фреймворка.
    -b, --buildСобрать IPA из декодированного каталога фреймворка.
    -f, --forceПерезаписать существующий выходной каталог или файл.
    --no-metaНе записывать ipaforge.yml во время декодирования.
    --keep-binaryОставить все файлы бинарными во время декодирования; отключить преобразование в XML.
    -c 0-9, --compression-level 0-9Установить уровень сжатия ZIP. По умолчанию: 9.
    --no-signСобрать намеренно неподписанный архив.
    --entitlements FILEВстроить entitlements в собранную подпись.
    --p12 FILEПодписать реальным сертификатом разработчика PKCS#12.
    --p12-password PASSПароль для сертификата PKCS#12.
    --provision FILEВстроить и использовать provisioning profile вместе с --p12.
    -v, --verboseВключить отладочное логирование.
    -q, --quietВыводить только ошибки.
    --versionПоказать версию IPAForge.
    -h, --helpПоказать справку.

    В Windows режим может определяться автоматически: входной .ipa декодируется, а каталог фреймворка собирается.

    Подпись

    Режим сборки по умолчанию подписывает бандлы встроенным ad-hoc подписывающим модулем. Он создаёт данные CodeDirectory для бинарных файлов Mach-O и новые файлы _CodeSignature/CodeResources для бандлов приложений.

    Для установки на стандартные устройства iOS используйте реальный сертификат разработчика и совместимый provisioning profile:

    root@kitploit:~
    ipaforge -b MyApp \
      --p12 developer.p12 \
      --p12-password 'your-password' \
      --provision embedded.mobileprovision
    

    Чтобы встроить пользовательские entitlements:

    root@kitploit:~
    ipaforge -b MyApp --entitlements entitlements.plist
    

    Чтобы намеренно создать неподписанный архив:

    root@kitploit:~
    ipaforge -b MyApp --no-sign
    

    Неподписанные архивы, как правило, не могут быть установлены iOS.

    Структура вывода декодирования

    Декодированный фреймворк обычно содержит:

    root@kitploit:~
    MyApp/
    ├── Payload/
    │   └── MyApp.app/
    ├── original/       # reference copies of signatures, profiles, and entitlements
    ├── readable/       # human-readable summaries for opaque formats and binaries
    └── ipaforge.yml    # file classifications and conversion metadata
    

    Каталог original/ и ipaforge.yml никогда не упаковываются в пересобранную IPA.

    Обработка файлов

    IPAForge классифицирует извлечённые файлы по категориям, включая:

    • native-bplist — бинарные списки свойств, преобразованные в XML и пересобираемые как бинарные plist.
    • legacy-strings — классические файлы .strings, преобразованные в XML и пересобираемые как текст UTF-16.
    • xml-plist — существующие XML plist файлы, сохраняемые как текст.
    • opaque-compiled — проприетарные скомпилированные форматы Apple, сохраняемые байт-в-байт.
    • native-binary — исполняемые файлы и библиотеки Mach-O, сохраняемые байт-в-байт.
    • other-binary — изображения, аудио, данные DER и другие ресурсы, сохраняемые байт-в-байт.

    Коды выхода

    КодЗначение
    0Успешная операция.
    1Ошибка времени выполнения, например недействительный архив или сбой подписи.
    2Ошибка использования командной строки.
    141Стандартный вывод закрыт рано потребителем канала.

    Примечания по безопасности

    IPAForge обрабатывает недоверенное содержимое архивов. Инструмент применяет защитные ограничения к отдельным членам архива и общему размеру несжатого архива, но вам всё равно следует проверять неизвестные файлы в изолированной среде.

    Не распространяйте и не устанавливайте приложения, если у вас нет законного права анализировать и подписывать их.

    Лицензия

    Добавьте текст лицензии проекта здесь перед публикацией на GitHub. Если лицензия не включена, пользователи GitHub не получают автоматически разрешение на использование, изменение или распространение кода.

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

    Issues и pull requests приветствуются. Пожалуйста, указывайте:

    • Версию Python и операционную систему.
    • Версию IPAForge.
    • Выполненную команду.
    • Соответствующий вывод логов с удалённой конфиденциальной информацией.
    • Минимальный воспроизводящий архив или описание, когда это возможно.

    Версия

    Этот README описывает IPAForge 1.24.0.

    Скачать инструмент