Как известно, 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?
Как сохранить SHSH2-подписи?
Важно понимать, что этот инструмент позволяет сохранить только 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.
Читайте также
Последние новости