Джейлбрейк checkra1n — уникальное явление в экосистеме Apple, эксплуатирующее аппаратную уязвимость в загрузчике ряда устройств. К сожалению, процесс установки джейлбрейка checkra1n не так прост и прямолинеен, что часто приводит к ошибкам. В то же время чёткое следование инструкциям позволяет добиться успеха почти в ста процентах случаев. О правилах и особенностях установки checkra1n мы поговорим в этой статье.
Нужно ли устанавливать джейлбрейк в процессе извлечения данных? Ответ на этот вопрос зависит только от вас. Если известен код блокировки устройства, вам могут быть доступны другие варианты извлечения данных — от логического анализа до скачивания из облака (через сброс пароля к iCloud). В то же время работа через джейлбрейк позволяет извлечь полный образ файловой системы, включая рабочие базы данных различных защищённых программ мгновенного обмена сообщениями, которые практически никогда не попадают в резервные копии.
Даже если вы приняли решение об установке джейлбрейка, вовсе не обязательно пользоваться именно checkra1n. Для ряда устройств и версий iOS доступен альтернативный вариант — джейлбрейк unc0ver; ещё один джейлбрейк (Odyssey) на подходе. Между этими вариантами есть существенная разница, о которой мы писали в англоязычной части нашего блога в статье checkra1n & unc0ver: How Would You Like to Jailbreak Today. Вкратце, основными преимуществами checkra1n является поддержка самых свежих версий iOS, которые не поддерживаются другими джейлбрейками, и возможность работы с «холодными» устрофствами в режиме BFU (Before First Unlock, или «до первой разблокировки») даже в тех случаях, когда код блокировки устройства неизвестен. Ещё одним немаловажным преимуществом checkra1n является то, что для его установки не нужно подписывать файл-установщик (IPA) через AltStore или с использованием учётной записи Apple для разработчиков.
checkr1n совместим с моделями iPhone от 5s до iPhone X включительно, многочисленными моделям iPad, а также Apple TV 4 (Apple TV HD) и Apple TV 4K. Поддержка версий iOS заявлена в промежутке от iOS 12.3 до 13.5.
В то же время разработчики предусмотрели возможность установки checkra1n и на тех версиях iOS, которые не поддерживаются официально. Для этого достаточно активировать режим “Allow untested versions”, как показано на скриншоте. Мы успешно опробовали checkra1n на устройствах с iOS 13.5.1 и 13.6. В то же время со старыми версиями iOS (12.3 и ниже) успеха мы не добились.
При установке checkra1n рекомендуем воспользоваться интерфейсом командной строки вместо режима GUI; по нашим наблюдениям, в режиме командной строки установка работает более надёжно. Важно отметить, что при работе с устройствами, которые находятся в режиме BFU с неизвестным кодом блокировки экрана и заблокированным портом USB, режим командной строки — единственный доступный.
В отличие от подавляющего большинства других джейлбрейков, checkra1n устанавливается только с компьютера под управлением macOS или Linux. Версии для Windows нет, однако существуют различные способы обхода этого ограничения — например, эмуляторы и загрузочные флеш-накопители. Если в вашем распоряжении только компьютер под управлением Windows, воспользуйтесь одним из решений Ra1nUSB, Bootrain или ra1nstorm.
Кроме того, существует вариант установки через Raspberry Pi, однако по информации от разработчиков он работает недостаточно стабильно (в особенности — на устройствах Raspberry Pi Zero и Raspberry Pi 3).
Таким образом, для установки checkra1n имеет смысл воспользоваться именно компьютером под управлением macOS. Мы не проверяли работу установщика на Big Sur, но в macOS Catalina он функционирует без проблем.
Основное правило: используйте сертифицированный кабель формата Lightning to USB Cable (с коннектором USB Type-A), но ни в коем случае не кабель с коннектором USB Type-C. О причинах пишут разработчики checkra1n:
Кабели Lightning с разъёмом USB-C проблематичны в использовании. В частности, некоторые из них не могут быть использованы для перехода в режим DFU, и мы ничего не можем с этим поделать. В число неработоспособных входят как собственные кабели USB-C от Apple, так и некоторые сторонние кабели. В то же время ряд сторонних кабелей оказался работоспособным, однако сказать заранее, какой кабель сработает, а какой — нет, не получается. Если конкретный кабель не работает, рекомендуем использовать кабель USB-A, при необходимости — в сочетании с адаптером USB-A-C.
Техническое объяснение:
BootROM перейдёт в режим DFU только в том случае, если обнаружит напряжение на разъёме USB. В свою очередь, определение напряжения на разъёме сводится к проверке того, установлен ли определённый вывод из чипа Tristar. Tristar делает это на основе «идентификатора аксессуара» кабеля. Очевидно, что кабели USB-A и USB-C имеют разные идентификаторы аксессуаров, а некоторые кабели USB-C заставляют Tristar не устанавливать вывод напряжения USB.
Наконец, воздержитесь от использования USB-хабов (вариант с переходником с USB-C на USB-A допустим).
Одной из неочевидных особенностей при установке checkra1n является уровень заряда аккумулятора телефона. Убедитесь, что устройство не находится в режиме Low Power, а заряд аккумулятора заметно превышает 20%.
Ещё одна рекомендация от разработчиков checkra1n: при попытке установить checkra1n на несколько телефонов подряд, успешной будет только первая попытка. Обойти проблему можно, перезапустив checkra1n после каждой попытки.
Со своей стороны добавим, что, возможно, вам придётся перезапустить компьютер с macOS. Похоже, драйвер USB driver или какой-то другой компонент системы перестаёт нормально работать после попытки установить checkra1n; при этом самый простой способ восстановить работоспособность — перезагрузить компьютер, отключить iPhone, подключить его заново и снова ввести в режим DFU.
Если вам всё ещё не удаётся установить checkra1n, вы можете оформить запрос в checkra1n issue tracker, максимально подробно описав проблему и убедившись, что её решение не опубликовано ранее.
Заработает ли checkra1n с новыми версиями iOS, включая iOS 14? Для iOS 13.6 ответ положительный. Что же касается iOS 14, мы протестировали работу последней версии checkra1n (0.20.2) с iOS 14 beta 2 на ряде устройств от iPhone 6s до iPhone X, обнаружив, что на данный момент ни одна из протестированных конфигураций не поддерживается. В то же время, одному из наших партнёров удалось успешно установить checkra1n на одно из тестовых устройств.
Вероятно, checkra1n получится адаптировать для работы с будущими версиями iOS, но полной уверенности в этом нет. Apple работает над усилением безопасности экосистемы; по слухам, извлечение в режиме BFU на устройствах iPhone 7, iPhone 8 и iPhone X заметно ограничат или сделают невозможным (iPhone 6s в этот список не входит). В то же время, если код блокировки экрана вам известен, то установить checkra1n вы сможете, но только после того, как код блокировки будет с устройства удалён. Обратите внимание, что снятие кода блокировки приводит к ряду негативных последствий в том, что касается содержимого устройства и доступа к iCloud.