Обзоры

iOS Images Extractor - извлечение картинок из iOS-приложений на Mac

iOS Images Extractor - извлечение картинок из iOS-приложений на Mac

Что это

iOS Images Extractor - бесплатное Mac-приложение для извлечения изображений из iOS-приложений. Программа открывает .ipa файлы (это архив, в котором распространяются iOS-приложения через TestFlight или Ad-Hoc), декодирует Assets.car каталоги и преобразует оптимизированные Apple-PNG в стандартные изображения, которые можно открыть в Photoshop, Figma или просто в Preview.

Apple хранит изображения внутри своих приложений в проприетарных форматах. Когда вы видите красивую иконку или картинку в iOS-приложении, эта картинка хранится в файле Assets.car - бинарном asset-каталоге, который объединяет тысячи изображений в один сжатый блок. Обычный архиватор не может его распаковать, а просмотрщик не может показать содержимое. iOS Images Extractor решает обе задачи: распаковывает каталог и сохраняет каждую картинку как отдельный PNG-файл.

Программа также работает с оптимизированными PNG (формат CgBI). Apple применяет к PNG-файлам, попадающим в App Store, специальную оптимизацию: меняет порядок цветовых каналов, добавляет дополнительные заголовки. Из-за этого открыть такой PNG в Photoshop напрямую не получится - придётся сначала «разоптимизировать». iOS Images Extractor делает это автоматически.

Кому подойдёт

В первую очередь - дизайнерам, которые изучают UI/UX популярных приложений. Вы открываете iOS-приложение, видите интересный набор иконок или анимаций, и хотите изучить как именно реализованы похожие решения. iOS Images Extractor позволяет посмотреть исходники графики любого приложения, которое вы можете скачать как .ipa.

Во вторую - iOS-разработчикам, которые сравнивают размерные схемы у конкурентов. Перед запуском нового приложения хочется понять как лидеры рынка структурируют свои asset catalog'и - какие @1x, @2x, @3x варианты они делают, какие изображения хранят как PDF (vector), а какие как растр.

В третью - реверс-инженерам и аналитикам безопасности. Анализ asset-каталога приложения может показать скрытые ресурсы, которые не видны в UI - например debug-режимы, тестовые экраны, изображения для функций, которые ещё не выпущены. Это ценная информация при анализе подозрительных приложений или при изучении конкурентов.

В четвёртую - QA-инженерам. Перед релизом полезно проверить какие изображения реально попали в финальный билд: не остались ли там тестовые картинки, не забыли ли заменить временные mockup-ы на финальные ассеты, не дублируется ли содержимое между темами.

В пятую - студентам и преподавателям, изучающим как устроены iOS-приложения изнутри. Asset catalog - один из ключевых компонентов любого Apple-приложения, и возможность его «разобрать» помогает понять архитектуру.

Ключевые возможности

Работа с .ipa архивами

.ipa файл - это просто переименованный ZIP-архив с определённой структурой папок внутри. Если переименовать .ipa в .zip и распаковать, вы увидите Payload/AppName.app/, в которой лежат все файлы приложения. iOS Images Extractor автоматизирует этот процесс: вы перетаскиваете .ipa в окно, программа сама распаковывает архив, находит все asset catalog-и и подготавливает их к извлечению.

Декодирование Assets.car

Это центральная функция программы. Assets.car - бинарный формат, разработанный Apple для эффективного хранения большого количества изображений. Внутри один Assets.car может содержать сотни PNG, PDF, иконок, градиентов разных размеров и масштабов. iOS Images Extractor парсит этот формат, извлекает каждое изображение, сохраняет с правильным именем (включая суффиксы @2x, @3x где надо).

Восстановление CgBI PNG

Когда iOS-разработчик добавляет PNG в Xcode-проект, при компиляции Apple применяет к файлу оптимизацию: премультиплицирует альфа-канал, меняет порядок RGB на BGR, добавляет нестандартный chunk «CgBI». Файл по-прежнему называется .png и работает на iPhone, но обычный софт (Photoshop, Preview, image viewers) не может его открыть. iOS Images Extractor определяет такие файлы и конвертирует обратно в стандартный PNG за один клик.

Drag-and-drop интерфейс

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

Пакетная обработка

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

Сохранение всех размеров и масштабов

iOS-приложения хранят разные версии каждого изображения для разных устройств: @1x для старых, @2x для Retina, @3x для iPhone Plus и Pro Max. iOS Images Extractor сохраняет все варианты с правильной маркировкой в именах файлов, чтобы вы могли понять какое разрешение откуда.

Просмотр перед извлечением

Перед сохранением можно посмотреть что находится внутри - выбрать только нужные изображения, не извлекая всё подряд. Полезно когда .ipa большой и вам нужны только конкретные иконки.

Плюсы и минусы

Плюсы:

  • Полностью бесплатная, без регистрации, ограничений, рекламы.
  • Открытый исходный код под лицензией MIT - можно проверить, что программа не делает ничего лишнего.
  • Простой drag-and-drop интерфейс, не требует обучения.
  • Поддержка всех форматов, в которых Apple хранит изображения (CgBI PNG, Assets.car, .ipa).
  • Native macOS приложение на Objective-C - быстрая работа, не Electron.
  • Не требует подключения к интернету, работает локально.
  • Маленький размер дистрибутива.

Минусы:

  • Проект архивирован в 2020 году разработчиком, новые функции не добавляются.
  • Может не поддерживать некоторые свежие форматы asset catalog, появившиеся в iOS 15-17.
  • Не работает с зашифрованными .ipa (например приложениями, скачанными напрямую с App Store - они зашифрованы DRM).
  • Интерфейс минималистичный - нет фильтров, тегов, организации результатов.
  • На очень больших asset catalog (несколько ГБ) может тормозить.

Как использовать на macOS

Скачайте iOS Images Extractor со страницы программы на mac-soft.ru. Перетащите программу в Applications и запустите.

При первом запуске macOS может предупредить, что приложение не подписано (программа архивирована, разработчик не обновляет подпись). Чтобы запустить, кликните правой кнопкой по иконке в Applications, выберите «Open» в контекстном меню, согласитесь с предупреждением. После этого программа будет открываться обычным способом.

Получите .ipa файл, который хотите проанализировать. Несколько способов:

  • Скачайте его сами через Apple Configurator 2 (бесплатно в App Store) с подключённого iPhone, на котором установлено нужное приложение из App Store.
  • Получите от разработчика приложения если у вас есть legitimate доступ.
  • Возьмите свой собственный .ipa, который вы скомпилировали в Xcode.

Откройте iOS Images Extractor и перетащите .ipa в окно программы. Программа автоматически распакует архив и покажет все найденные изображения. Это занимает несколько секунд для среднего приложения и минуту для крупного.

Просмотрите результат. Все картинки сгруппированы по типам и каталогам. Можно выбрать только нужные изображения или экспортировать всё разом в указанную папку.

Для работы с отдельным Assets.car файлом - просто перетащите его. Программа сразу покажет содержимое без необходимости распаковывать .ipa.

Если столкнётесь с CgBI PNG (попадаются вне asset catalog в редких случаях), просто перетащите такой файл в окно - программа автоматически восстановит стандартный формат и сохранит рядом.

Юридическое замечание

Извлечение и просмотр чужих ассетов в личных целях - нормально. Но использование их в коммерческих продуктах нарушает авторские права. Apple строго следит за плагиатом в App Store, и приложение, скопировавшее чужие иконки, получит ban быстро. Используйте iOS Images Extractor для изучения, обучения, исследования - но не для копирования.

Итог

iOS Images Extractor - незаменимый инструмент для всех, кто работает с iOS-приложениями на профессиональном уровне. Программа делает одну задачу - извлекает изображения - и делает её хорошо. То, что проект архивирован, не делает её менее полезной: формат asset catalog последние пять лет не сильно менялся, и существующая версия по-прежнему распознаёт большинство современных приложений.

Если нужна активно поддерживаемая альтернатива - смотрите Asset Catalog Tinkerer (тоже бесплатный, тоже open source, обновляется регулярно). Для CLI-сценариев существует cartool. Но для разовых задач или для тех, кто не хочет разбираться с командной строкой, iOS Images Extractor остаётся самым простым выбором.

Скачать iOS Images Extractor для macOS можно на mac-soft.ru. Программа бесплатная, без регистрации, без ограничений.

Комментарии (0)

Пока нет комментариев.

Программы упомянутые в статье