This page has been robot translated, sorry for typos if any. Original content here.

iBoot і прив'язаний джейлбрейк

Багато користувачів вже не уявляють свої пристрої без джейлбрейка, а власникам залоченних апаратів і зовсім без нього не обійтися, тому що відв'язування від оператора здійснюється тільки за допомогою злому пристрою. Для цього необхідно модифікувати ядро ​​системи - це і є сама суть джейлбрейка. Процес модифікації ядра можливий тільки тоді, коли операційна система iPhone не завантажена, а саме коли він знаходиться в DFU-режимі. Однак, навіть в цьому режимі bootloader (завантажувач) перевіряє цифрові підписи запускаються модулів. Але, була знайдена помилка в програмному коді завантажувача, яка дозволяла завантажити в апарат і виконати довільний код в обхід перевірки підпису загрузчиком. Експлоїт від 24kpwn містить код, який може зробити модифікацію ядра і відключити перевірку підписів, так було в моделях апаратів iPhone 2G, 3G і iPod Touch.

У новіших моделях iPhone 3GS і iPod Touch 2G / 3G в Apple вирішили доповнити захист і ввели ще одну перевірку, тепер завантажувач перевіряє цифровий підпис самого ядра, і якщо воно виявляється модифікованим, апарат просто не завантажується. Більш того, ускладнилася система перевірки підписів коду, тепер Apple сама може контролювати цей процес, тому що перевірка підпису здійснюється сервером компанії через інтернет. Таким чином Apple може легко контролювати і не допускати установку старої або модифікованої прошивки, що власне і робить.

На прошивках 3.0 та 3.1 ця проблема була успішно вирішена, так як сама прошивка містить підписаний модуль iBoot з уразливістю, яка і дозволяє в DFU режимі виконати хакерський код по модифікації ядра. Також була знайдена ще одна уразливість в самому засобі завантаження ROM, яка дозволяла завантажити вже модифіковане ядро. Таким чином, навіть випустивши наступну версію прошивки, де неодмінно буде закрита уразливість модуля iBoot, ми зможемо запускати телефон завдяки закеширувалася відповідним кодам перевірки підпису, зроблених раніше на прошивках 3.0 та 3.1. Саме завдяки цим підписам ми можемо зламати систему, а завдяки уразливості в ROM успішно завантажувати її яка б нова прошивка не вийшла.

Природно з завантажувачем, на вже випущених пристроях, Apple нічого вже зробити не зможе, вони завжди будуть запускатися. Однак цим все не закінчилося, починаючи з 43 тижня 2009 року, вони оновили версію завантажувача ROM до версії 359.3.2, тим самим закривши всі раніше знайдені дірки.

DevTeam запевнило нас, що боятися тут нічого. На початковому етапі буде можливий так званий «прив'язаний» джейлбрейк, коли модифіковане ядро можна буде завантажити за допомогою комп'ютера, ну а там і повноцінний не за горами.

Процес джейлбрейка ніяк не відрізняється від дій виконуваних на інших пристроях, проте є один нюанс, після кожного вимикання девайса вам доведеться проробляти нехитрі маніпуляції для його включення. Найнеприємніше те, що виконуються ці дії на комп'ютері, і якщо у вас не дай Бог щось глюкнула або він розрядився, то включити його вийде тільки при наявності комп'ютера. Найпростіший спосіб включення такого пристрою надає нам утиліта від GeoHot. Необхідно завантажити програму blackra1n , підключити телефон до комп'ютера, запустити її і натиснути на єдину кнопку «Make it ra1n». Через кілька миттєвостей пристрій завантажиться і ви далі можете з ним працювати, дані при цьому не втечуть.

Проблема вирішена, тепер повноцінний джейлбрейк можна зробити за допомогою [ утиліти iSpirit! ]

Тепер про те як дізнатися який у вас iBoot. Є кілька способів:
  1. Найпростіший спосіб, це дізнатися за серійним номером - 4-я і 5-я цифри і є номер тижня його виробництва. Наприклад, якщо серійний номер починається на 879 31, це говорить про те, що він був проведений на 31 тижні 2009 року (3-тя цифра). Значить на ньому можна зробити повноцінний Джейли, а якщо у вас там 43 або вище, то на жаль, поки тільки прив'язаний.
  2. За допомогою утиліти f0recast . Просто підключіть пристрій запустіть утиліту:



    Вам буде доступна наступна інформація:
    • Serial #: Серійний номер пристрою
    • Baseband: Версія прошивки модему
    • Bootloader: Версія бутлодера
    • Model: Модель пристрою
    • Unlockable ?: залочений чи ні (Якщо Yes, то буде підказано чим разлочить)
    • Tethered ?: Прив'язаний Джейли чи ні (Це те, що нам треба)