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

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

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 и подписывающих бандлов.

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

Популярное

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

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

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

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

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

#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 и информации о профиле подготовки в виде читаемых ссылок.
  • Генерация метаданных классификации и преобразования для каждого файла в ipaforge.yml.
  • Встроенная ad-hoc подпись без необходимости во внешней утилите подписи.
  • Опциональная подпись реальным сертификатом с использованием сертификатов PKCS#12 и профилей подготовки.
  • Только стандартная библиотека; сторонние пакеты Python не требуются.

Требования

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

Установка

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

python3 ipaforge.py --help

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

python3 ipaforge.py --install

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

python3 ipaforge.py --extract

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

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

ipaforge -d MyApp.ipa

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

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

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

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

ipaforge -b MyApp

По умолчанию результат сохраняется в ./MyApp-signed.ipa в текущем рабочем каталоге.

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

ipaforge -d MyApp.ipa decoded-framework
ipaforge -b decoded-framework rebuilt.ipa

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

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 используйте реальный сертификат разработчика и совместимый профиль подготовки:

ipaforge -b MyApp \
  --p12 developer.p12 \
  --p12-password 'your-password' \
  --provision embedded.mobileprovision

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

ipaforge -b MyApp --entitlements entitlements.plist

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

ipaforge -b MyApp --no-sign

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

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

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

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 обрабатывает содержимое недоверенных архивов. Инструмент применяет защитные ограничения к отдельным членам архива и общему размеру распакованного архива, но вам всё равно следует проверять неизвестные файлы в изолированной среде.

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

Версия

В этом README описывается IPAForge 1.24.0.

Лицензия

Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.

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