Всё про откат. Часть 1. Небольшой ликбез | | Развлекательный портал

Всё про откат. Часть 1. Небольшой ликбез

Как известно, Apple не позволяет устанавливать старые версии прошивок. Все это сделано из соображений безопасности, и благодаря такому подходу большинство пользователей могут не беспокоиться за сохранность своих персональных данных. Как именно работает система подписывания прошивок?

Процесс обновления происходит следующим образом: iTunes или само устройство (при обновлении по «воздуху») обращается к специальному серверу Apple и запрашивает проверку цифровой подписи. В процессе отправляется идентификатор устройства (ECID), и поэтому ответ сервера уникальный для каждого запроса. Если всё нормально, то происходит цифровая подпись прошивки (SHSH) и начинается процесс установки.

Разумеется, такую проверку проходят только актуальные версии iOS. Узнать, какие прошивки сейчас подписываются, можно здесь: https://ipsw.me/.

Можно ли обойти эту систему?

Да, SHSH с сервером Apple может запросить не только iTunes, но и любая другая программа. Разработчиком 1Conan был сделан инструмент, который позволяет сохранить SHSH2-сертификаты: https://tsssaver.1conan.com/. Для использования этого метода вам нужно узнать ECID вашего iOS-устройства.

Как узнать ECID вашего iPhone, iPad или iPod Touch?

  1. Подключите iOS-устройство к компьютеру.
  2. Запустите iTunes и выберите в левой панели вкладку «Обзор».
  3. Нажимайте в поле «Серийный номер» на вкладке «Обзор» до тех пор, пока не появится номер ECID.

Как сохранить SHSH2-подписи?

  1. Перейти на сайт — https://tsssaver.1conan.com/.
  2. Введите свой ECID в поле iTunes (Hex).
  3. Теперь осталось выбрать модель своего устройства.
  4. Сразу после этого сертификаты можно будет скачать.

Важно понимать, что этот инструмент позволяет сохранить только SHSH2 текущих версий, однако после того, как прошивка перестанет подписываться, то сертификаты не потеряют свою актуальность и можно будет сделать откат.

Кроме сохранения сертификатов, нам нужно будет произвести еще одну операцию – настроить nonce. Как это делается? Для каждой прошивки свой инструмент для этого.

Собственно, сами утилиты:

https://github.com/arx8x/v0rtexNonce (iOS 10.3-10.3.3)
https://github.com/Siguza/PhoenixNonce (iOS 9.3.4-9.3.5)
https://github.com/julioverne/NonceSet112/ (iOS 11.1.1- 11.1.2)
https://github.com/Siguza/cl0ver (iOS 9.0-9.3.4)

Так что же такое nonce? Каждый раз, когда ваше устройство загружается в режиме Recovery, оно генерирует значение nonce (уникальное число каждый раз). В нашем сохранённом SHSH2 есть строка Generator и ID. Наша задача — сделать число nonce и число ID одинаковыми. Если вы используете Jailbreak-устройство, можно это сделать с помощью программ, перечисленных выше.

В следующей части мы применим способ на практике и покажем процесс отката на iPhone 5s с 11.1.2 до 10.3.3/10.2.