Запуск некогда популярных 32-разрядных программ для iOS долгое время представлял головную боль для обычных пользователей. Из-за DRM-защиты и других ограничений они были лишены доступа к прежде любимым программам из-за отсутствия легальных средств для запуска приложений в режиме эмуляции. Особое раздражение вызывал запрет на доступ к игровым хитам. Новая платформа touchHLE снимает эти ограничения.
- Введение
- Платформа touchHLE
- «Возрождение» началось с Super Monkey Ball
- Историческое значение touchHLE
- Другие решения для эмуляции iOS
- Выводы
Введение
Игровые программы, выпущенные когда-то для 32-разрядной платформы iOS, впервые стали доступны для геймеров без риска быть обвинёнными в незаконности запуска таких программ в обход Apple. «Виновником» этого достижения стал эмулятор touchHLE.
Не будем вводить в заблуждение: возможность запуска iOS-хитов в режиме эмуляции была доступна и раньше. Но до сих пор это было связано с определёнными ограничениями, прежде всего сделавшими подобные решения недоступными для обычных пользователей, либо реализовывалось за счёт незаконного внесения изменений в программную среду, что не только противоречит политике Apple, запрещающей подобное без согласования, но и создаёт риск вирусного заражения, проведения целевой атаки и пр.
Подобная проблема неактуальна для Android. Её базовый код является открытым, а разработчики могут вносить изменения, хотя вся ответственность за потенциальную несовместимость ложится в этом случае исключительно на них.
Платформа touchHLE
Давно ожидаемый результат был достигнут благодаря созданию новой эмуляционной платформы с открытым исходным кодом, получившей название touchHLE. Проект написан на языке Rust с использованием платформы DashCode. Разработчика зовут Хикари (Hikari), она провела всю разработку по личной инициативе. По мнению экспертов, создание touchHLE имеет историческое значение. Прежде всего оно привлекательно для геймеров, позволяя им запускать старые игры для iOS, чего они были лишены уже более 10 лет.
Платформа touchHLE пока не достигла массового распространения. Но о ней уже стало известно благодаря получившему вирусный эффект видеоролику популярного блогера под ником «SSFF» («Stop Skeletons From Fighting»). Он показал, насколько просто стало запускать в работу прежние игровые хиты для iPhone и iPad.
Рисунок 1. Блогер SSFF рассказывает о touchHLE
«Возрождение» началось с Super Monkey Ball
Игра Super Monkey Ball появилась на мобильных платформах в 2004 году после выпуска портированной версии для Nokia. Потом последовали версии для игровых консолей-раскладушек Nintendo DS, поставившие игру на один уровень по популярности с продолжениями Super Mario Bros, инкарнациями Pokémon, Zelda и Dragon Quest IX.
В начале 2008 года Apple впервые предоставила сторонним разработчикам инструменты iPhone SDK, которые можно было использовать для написания нативных приложений для iPhone. На стадии раннего тестирования их получила и компания Other Ocean Interactive (подрядчик SEGA), которая портировала Super Monkey Ball с Nintendo DS на платформу iOS (в то время iPhone OS). Для многих сегодня эта игра является легендой, приносящей приятные воспоминания.
Но в 2017 году Apple выпустила iOS 11. Начиная с этой версии поддержка прежних 32-битных приложений была прекращена. Все недавно любимые игры превратились в «кирпичи». Играть в них на новых iPhone / iPad стало невозможно.
Как мы уже отметили, это ограничение можно было обойти. Но использование «пиратских» программ — это не лучший вариант. Новый эмулятор touchHLE наконец-то дал правильное решение.
Помимо Super Monkey Ball уже полностью готов для запуска в режиме эмуляции другой хит из прошлого — игра Crash Bandicoot Nitro Kart 3D. Сообщается, что она имеет такие же требования к эмуляции платформы iOS.
Рисунок 2. Запуск Super Monkey Ball (iOS) на ПК в режиме эмуляции
Историческое значение touchHLE
Важность произошедшего можно объяснить несколькими причинами.
Первая — это возможность «законного» запуска старых 32-разрядных приложений для iOS, прежде всего игр, в привычной цифровой среде. Помимо снижения риска заражения можно также отметить, что многие современные игры созданы благодаря вдохновению, которое черпают из классических, старых. Об этом говорят сами разработчики.
Функциональная недоступность прежних программ на iOS была существенным сдерживающим фактором для развития игровой индустрии. Возможность эмулировать старые игры — это легальная помощь для привлечения в неё новых участников.
Рисунок 3. Crash Bandicoot Nitro Kart 3D (iPhone)
Вторая причина — это сама законность запуска. По словам разработчика, формально Apple до сих пор имела право подать в суд на пользователей тех эмуляторов, которые нарушали законы об авторском праве.
Как сообщила Хикари, во время работы над этим проектом она «чрезвычайно осторожно» относилась ко всему, что касается возможных нарушений авторских прав Apple, не использовала код написанный Apple, старалась избегать реверс-инжиниринга iPhone OS. Её заключение — «использование написанного кода не нарушает авторских прав Apple. Проект не содержит того, что было бы запрещено для распространения».
Другие решения для эмуляции iOS
Формально проблема запуска старых игр и приложений для iOS могла бы быть решена в случае принятия ранее выдвинутого предложения ЕС, которое обязывает Apple раскрыть исходный код своей платформы. Но пока этого не произошло.
В качестве возможной альтернативы для эмуляции можно назвать, например, проект Corellium. Он позволяет эмулировать ARM-устройства в виде виртуальной инфраструктуры. Этот инструмент можно применять для исследований и разработок, тестирования на безопасность, в образовательных целях. Но этот проект — коммерческий (99 долларов США в месяц) и относится скорее к индустриальным продуктам, будучи фактически недоступным для потребительского рынка.
Необходимо также отметить следующее: бинарный код iOS имеет DRM-защиту с привязкой к определённому Apple ID. Поэтому у многих возникают вопросы, как именно происходит обход этого ограничения в конкретных эмуляторах. Хикари отметила, что не поддерживает пиратство, т. е. использование touchHLE позволило каким-то образом обойти и это ограничение.
Ещё один вариант — популярный эмулятор iPadian. Его версия для iOS не требует создания локальной версии самой платформы iOS на устройстве запуска. Но этот эмулятор может запускать только специально скомпилированные под него версии программ. iPadian также не даёт доступа к магазину приложений Apple, что не позволяет загрузить программы официально.
Пожалуй, самым популярным эмулятором для iOS и запуска на настольных системах (Windows, Mac и Linux) является Smartface. Однако этот продукт предназначен для разработчиков. Он позволяет эмулировать работу на платформе iOS путём использования приложений в виде исходного кода. Фактически это — IDE, а не эмулятор в классическом виде.
Выводы
Новый эмулятор touchHLE для iOS сделал невозможное: он позволил легально запускать игры на платформе iOS в режиме эмуляции. После 2017 года, когда Apple сделала невозможным запуск прежних 32-битных приложений, а из-за блокировки DRM они стали недоступными для легального запуска в инородной среде, всё прежнее наследие должно было «умереть» вместе с ушедшими устройствами. Но для многих пользователей старые программы — это память и приятные воспоминания.
Легальный запуск Super Monkey Ball — это прорыв, который вернул многим геймерам со стажем желание сыграть в неё снова.