newtoplogo

Что такое хеши SHSH?

Роль хешей SHSH

Хеши SHSH используются Apple, чтобы контролировать, на какие прошивки можно обновляться и восстанавливаться владельцам iOS-устройств. Хеш SHSH - цифровая подпись, которой подписывается файл прошивки перед тем, как он заливается в устройство. Хеши SHSH выписывает специальный сервер Apple (gs.apple.com) в ответ на идентификатор прошиваемого устройства, высылаемый ему iTunes. Схема взаимодействия iTunes и сервера Apple выглядит следующим образом:

Подписывание прошивок хешами SHSH

Через несколько дней после того, как Apple выпускает новую прошивку, сервер прекращает подписывание старой хешами SHSH, и при попытке обновиться или восстановиться на неё iTunes начинает выдывать ошибку "This device isn't eligible for the requested build".

Соответственно, пользователи смогут оставаться на старых прошивках лишь до тех пор, пока не столкнутся с каким-либо проблемами. При следующем восстановлении у владельца устройства нет выбора: он не сможет прошить свой гаджет ни на какую прошивку, кроме тех, что "разрешены" Apple.

This device isn't eligible for the requested build

История подписывания хешами SHSH

Такая система подписывания дебютировала летом 2009 года, вместе с релизом iPhone 3GS. Начиная с прошивки 3.1.1, система подписывания была распространена на iPod touch 2G и 3G, а с момента выхода iOS 4.0 хешами SHSH стали подписываться также iPhone 3G. Для iPhone 2G, iPod touch 1G и Apple TV 1G хеши SHSH не используются, поэтому данные устройства всегда можно прошить на любую доступную версию iOS.

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

Бэкапы хешей SHSH

Есть два способа хранения хешей SHSH: во-первых, из можно держать у себя на компьютере; во-вторых, они могут храниться на серверах Cydia, фактически единственного альтернативного сервиса распространения приложений для iOS помимо App Store. Вариант с Cydia удобен тем, что процесс автоматизирован: достаточно вам согласиться на сохранение хешей, и Cydia будет самостоятельно запрашивать и бэкапить хеши SHSH для всех новых прошивок, даже если они не поддаются джейлбрейку, даже если вы их вообще не ставили. Но ввиду огромного количества хешей cерверы Cydia крайне медлительны: иногда случается так, что они не успевают сохранить хеши для всех гаджетов до момента выхода новой прошивки от Apple.

Различаются и способы использования хешей. Если вы храните их у себя на компьютере, то необходимо эмулировать веб-сервер, который примет запрос от iTunes на выдачу хешей. Если вы хотите использовать хеши на серверах Cydia, достаточно исправить содержимое файла hosts, перенаправив обращения к серверу gs.apple.com к Cydia.

Перенаправление iTunes на серверы Cydia

Современные утилиты для работы с хешами SHSH - TinyUmbrella и redsn0w - совмещают в себе возможность использования как локальных хешей, так и хешей SHSH на серверах Cydia.

Что нужно знать о хешах SHSH

Есть несколько важных фактов о хешах SHSH, которые необходимо знать любому, кто собирается прошивать iOS-устройство:

  • можно получить хеш SHSH от любой прошивки, подписываемой Apple, даже не устанавливая эту прошивку на своё устройство. Серверу gs.apple.com требуется знать только версию iOS (а это общедоступная информация) и идентификатор ECID вашего гаджета (а он является неизменным и уникальным для каждого устройства Apple).
  • извлечь хеши SHSH можно из уже установленной прошивки, даже в том случае, когда она уже не подписывается Apple. Однако это возможно лишь на устройствах с процессором Apple A4 и слабее (т.е. на iPhone 3G, iPhone 3GS, iPhone 4, iPod touch 3G, iPod touch 4G, iPad 1G и Apple TV 2G). О том, как извлечь хеши SHSH из установленной прошивки, читайте здесь.
  • для остальных устройств возможность получить хеши и откатиться на старые прошивки навсегда теряется после того, как Apple перестанет подписывать соответствующую версию iOS.
  • узнать, какие прошивки подписываются Apple в настоящее время, вы можете на страницах Энциклопедии джейлбрейка и анлока с информацией по соответствующим прошивкам, либо в нашем календаре подписывания прошивок.
  • чужие хеши SHSH вам не помогут, поскольку они уникальны для каждого устройства.
  • Как сохранить хеши SHSH?

    Сохранить хеши SHSH проще, чем может показаться. Скачайте последнюю версию утилиты TinyUmbrella для OS X или для Windows. Для Windows вам также может потребоваться установка Java.

    Распакуйте архив с TinyUmbrella на рабочий стол и запустите программу.

    Сохранение хешей SHSH в TinyUmbrella

    Перейдите на вкладку "Advanced" и расставьте галочки так, как показано на скриншоте выше. Затем подключите ваше устройство и выберите его слева:

    Сохранение хешей SHSH в TinyUmbrella

    Перейдите на вкладку "Log", затем нажмите кнопку "Save SHSH" и дождитесь окончания процесса. Так вы запросите все хеши, которые уже сохранены в Cydia.

    Затем вернитесь на вкладку "Advanced" и снимите галочку "Request SHSH from Cydia"; потом снова нажмите "Save SHSH". Так вы запросите хеши для подписываемых прошивок напрямую от Apple.

    Последние изменения в системе SHSH

    Apple тоже не собирается сдаваться и терять контроль над прошиванием. В iOS 5 механизм подписывания прошивок хешами SHSH был существенно доработан, и это полностью изменило правила игры для многих моделей iPhone, iPod touch и iPad. О том, чем как изменилась схема подписывания прошивок после релиза iOS 5, читайте здесь.

    Получить мануал по нужному вам методу отката прошивки с помощью хешей SHSH вы можете в нашей Энциклопедии джейлбрейка и анлока. Нажмите на ссылку "1. Выбор платформы и гаджета" наверху этой страницы, выберите вашу операционную систему, ваше устройство, затем - его модель и нужную вам версию iOS. Затем вам останется выбрать подходящую вам альтернативу в секции "Методы прошивания".

Поделитесь страницей через социальные сети