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

Не стесняйтесь задавать вопросы в комментариях, полезные замечания и ответы на нераскрытые вопросы я обязательно добавлю в статью.

Золотое правило. Никогда не делайте взлом прошивки, если точно вы не знаете или не уверены:

  • можно ли его сделать вообще для выбранной прошивки;
  • можно ли его сделать для вашего устройства;
  • все ли функции будут работать после джайлбрейка (особенно это относится к iPhone, заблокированных для работы в сети только одного сотового оператора, ибо он может превратиться в iPod пока для него не будет выпущен анлок).

Что такой джайлбрейк?

Jailbreak (JB) — это взлом прошивки телефона, после которого можно получить полный доступ к файловой системе iPhone или iPod touch. Без JB запись данных может производиться только в пользовательскую часть телефона, и то только приложениями. Зато после взлома пользователь получает полный доступ к файловой системой. Но помните — большая власть это еще и большая ответственность, одно неосторожное движение — и девайс в лучшем случает перестанет корректно работать.

Какие виды джайлбрейка бывают?

Бывает 2 вида JB: привязанный и не привязанный. В первом случае, JB пропадет после перезагрузки телефона и его нужно будет делать снова (поэтому нужно следить за зарядом аккумулятора). Во втором случае можно перезагружаться сколько влезет — JB «слетать не будет.

Не стоит винить во всем хакеров. Как говорится, не стреляйте в пианиста, он играет, как умеет: если бы была возможность сделать не привязанный JB, его бы сделали сразу.

Как можно сделать джайлбрейк?

Насколько я знаю, есть два варианта — это восстановить пользовательскую прошивку (Custom Firmware) или использовать стороннюю программу вроде redsn0w или blackra1n, которая не требует custom firmware и практически все делает за вас. В первом случае, используются различные программы, которые модифицируют скачанную на компьютер прошивку, а потом через iTunes её можно установить (или в DFU или в Recovery Mode, как было с PwnageTool 3.1.2).

На мой взгляд, все-таки первый вариант является более правильным, но он удаляет всю информацию из пользовательского раздела (а следовательно и настройки программ, прогресс в играх, заметки, календари итд итп). Поэтому обязательно перед восстановлением прошивки нужно будет сделать резервную копию данных через iTunes.

Инструкции по JB всегда можно найти по тегу jailbreak. Последнюю прошивку можно взломать при помощи PwnageTool в Mac OS X, либо Blackra1n (как в Mac OS X, так и в Windows, но программа в Windows глючит). Аналог PwnageTool для Windows пока что находится в разработке.

Какие режимы работы телефона бывают?

Мне известны 4 режима работы:

  • нормальный режим работы;
  • Safe Mode, он же безопасный режим, про него ближе к концу;
  • Recovery Mode — режим восстановления;
  • DFU — Device Firmware Upgrade.

Что такое DFU и Recovery Mode (режим восстановления)? В чем разница между ними?

Recovery Mode — в этом режиме девайс восстанавливается из резервной копии или обновляется через iTunes. Обычно, пока прошивка не будет взломана, в этом режиме нельзя восстановить Custom Firmware или сделать даунгрейд (downgrade, понижение версии) прошивки. На экране будет выведена картинка.

iphone-dfu-recovery

DFU является специальным режимом телефона, при котором устройство может общаться с iTunes, но не загружает полностью iPhone OS. На экране вообще ничего не отображается, поэтому сложно определить — включен ли он вообще или нет. В этом режиме можно будет сделать даунгрейд и установить Custom Firmware.

Существует две разновидности DFU-режима. В первом режиме (regular dfu mode) экран становится черным, а режим нужен для того, чтобы установить заводскую прошивку, которая не может быть восстановлена при помощи Recovery Mode. Второй режим (jailbreak dfu mode) — является более низкоуровневым, чем первый, и может понадобится для восстановления некоторых версий пользовательских прошивок. Экран в этом режиме становится белым.

Чтобы перейти в Recovery Mode, нужно выполнить следующую последовательность действий:

  1. Выключить iPhone и вытащить кабель из телефона.
  2. Зажать кнопку Home.
  3. Не отпуская кнопку, вставить кабель в телефон.
  4. Продолжать держать кнопку до тех пор, пока на экране не появится картинка.
  5. Выйти из этого режима можно принудительно выключив iPhone.

Для перехода в DFU режим нужно выполнить такие действия:

  1. Подключить девайс к компьютеру.
  2. Зажать кнопки Home+Power на 10 секунд.
  3. Отпустить Power, но продолжать держать Home пока компьютер не издаст звук (если это PC) и не опознает устройство.
  4. Через несколько секунд iTunes должен увидеть телефон. На этом шаге телефон находится в regular dfu mode и экран у него черный.
  5. Если требуется перейти в jailbreak dfu mode, нужно вынуть шнурок 2-3 секунды и потом воткнуть его обратно. Экран устройства должен стать белым.
  6. Выйти из этих режимов поможет принудительное выключение iPhone, но это только в том случае, если вы решили попробовать перейти в этот режим (или у вас не загорается белый экран).

С первого раза, получается не у всех, тут уж ничего не поделаешь — тренировка, тренировка и еще раз тренировка.

Как принудительно выключить девайс?

Достаточно зажать кнопки Power+Home и подождать, пока телефон выключится сам. Обычно, на это уходит около 7-10 секунд. Я не рекомендую все время выключать гаджет таким образом, только в экстренных ситуациях или когда телефон не отвечает больше ни на какие действия пользователя.

Что значат ошибки iTunes?

  • Error 6 и Error 10. У вас неправильный лого для загрузки аппарата или режима восстановления. Просто пересоздаем Custom Firmware. Также Error 6 может означать, что вы восстанавливаете прошивку не из DFU mode.
  • Error 9.  Означает, что либо гаджет не в DFU mode, либо требуется перезагрузить компьютер (у меня как раз была эта ошибка, помогла перезагрузка) и попробовать все заново (перевод в DFU и восстановление Custom Firmware).
  • Error 1015. Версии прошивки и версии модема не совпали. Может появиться при даунгрейде (понижении версии прошивки). JB пройдет до конца нормально, но baseband не будет соответствовать прошивке. Не знаю, чем это чревато, если честно.
  • Error 16хх (1601, 1604 и т.п.). Означают, что программа не может проверить прошивку. Способы выхода из ситуации — выключить контроль учетных записей (UAC в Vista и Семерке); использовать самую последнюю версию iTunes; перенести файл прошивки в каталог с простым и коротким именем; скачать оригинальную прошивку с сайта Apple и заново создать пользовательскую прошивку; сменить USB-порт или правильно перевести девайс в DFU.
  • Error 1, 2, 5, 6, 10. Проблема в созданной прошивке — или не та версия, или файл поврежден, или не правильно создана пользовательская прошивка (всякие логотипы, дополнительные настройки итд). Если не поможет перезагрузка компьютера, попробуйте заново создать прошивку.
  • Error 13. Проблема с USB портом — попробуйте переставить кабель в другой разъем.
  • Error 8. Эта прошивка для другого девайса. Скачайте прошивку именно для вашего телефона.
  • Error 0xE8000013. Нужно повторить синхронизацию с iTunes.
  • Error 0xE8000001. Пользователям Windows нужно перезапустить сервис AppleMobileDeviceService.exe.
  • Error 0xE8008001. Это ошибка синхронизации. Необходимо в Cydia из репозитория http://cydia.haculo.us/ установить пакет AppSync for 3.0, если у вас на девайсе установлена прошивка 3.0, или AppSync for 3.1, если установлена прошивка 3.1 или 3.1.2
  • Error -39. Требуется последняя версия iTunes.
  • Error 1403. Файл прошивки поврежден. Перекачайте файл прошивки при помощи iTunes.

Что такое Cydia, Installous, Icy и Installer?

Все эти приложения предназначены для установки софта по тем или иным причинам не попавших в официальный магазин App Store. При разработке софта Apple предъявляет определенные требования, которым нужно следовать. Если какая-то программа им не удовлетворяет, то оно не имеет никаких шансов оказаться в он-лайн магазине приложений. Cydia, Installer и Icy предназначены для установки программ из репозиториев разных разработчиков и крупных порталов приложений, тем, рингтонов, твиков, утилит и многого другого. Installous может устанавливать платные взломанные приложения из App Store.

Теперь пару слов о самих программах:

  • Installer являлся самым первым приложением в своем роде. У него была своя система репозиториев и свой формат пакетов. На данный момент проект свернут и не поддерживаются разработчиками. Достать Инсталлер крайне сложно, да и пользы от него сейчас уже никакой нет.
  • Cydia — это самый распространенный клиент. Использует систему пакетов и репозиториев Debian (DPKG). Поддерживается и время от времени обновляется автором. Подробнее про Cydia можно почитать в этой статье.
  • Про Icy можно прочитать в этой статье. Однако судьба приложения пока что не ясна. По-идее, этот менеджер пакетов должен был стать полноценной заменой Cydia, но недавно его разработчики объявили, что они больше не будут поддерживать программу и сворачивают все разработки. Исходные коды бы выложены на GitHub под лицензией MIT — кто знает, может быть кто-то и займется дальнейшей разработкой проекта.
  • Installous — это приложение, с помощью которого можно устанавливать взломанные приложения и игры из App Store. Как это делается, можно прочитать вот тут. Для работы обязательно требуется App Sync for 3.x (иначе при следующей синхронизации с iTunes все установленные приложения будут удалены). Минус Инсталлоуса в том, что пока что не реализовано автоматическое обновление взломанных программ, поэтому если вы хотите новую версию любимой программы — постоянно мониторить сайты с приложениями.

Откуда брать взломанные программы и игры?

По-разному: некоторые ищут на торрент-ресурсах, кто-то просто в поисковиках. Я смотрю на сайте http://appulo.us/appdb/. Конечно, этот сайт не очень удобен как при просмотре в браузере, так и из Installous, но вообще там можно найти многие программы и игры для iPhone.

Правда из-за проблем с нагрузками (или может быть по другой причине) у меня он иногда не открывается — приходится по несколько раз обновлять страницу.

Скачанные приложения, имеющие расширение IPA, достаточно перетянуть в iTunes на вкладку Приложения (Applications) или дважды по ним кликнуть. Бывает, что некоторые браузеры изменяют расширение IPA на ZIP. В сущности, это так и есть (т.е. ipa — это zip-архив с измененным расширением). Поэтому в таком случае нужно провести обратное изменение (ZIP поменять на IPA).

Как стать root’ом и как сменить пароль root’a на iPhone?

Говоря простым языком, root — это пользователь, который имеет намного больше полномочий, чем любой другой пользователь в *nix системах. iPhone OS не исключение. Однако по-умолчанию, тот же MobileTerminal запускается от имени пользователя mobile. А для того, чтобы выполнять большинство специфических задач из консоли, необходимо стать root’ом. Делается это при помощи команды su или su — [дефис или минус, не могу точно сказать, как правильно] (если нет необходимости менять среду).

Далее телефон спросит пароль учетной записи root. По-умолчанию, на всех устройствах это слово alpine. Если требуется сменить пароль, то нам поможет команда passwd. Потребуется дважды ввести новый пароль и обязательно запомнить его 🙂

passwd

Как поставить DEB-пакет «руками»?

Для этого, нужно скачать сам пакет с программой (он должен иметь расширение DEB), установленные пакеты OpenSSH (+зависимости, для того, чтобы залить deb-файл в телефон) и MobileTerminal.

  1. В начале, закачиваем файл в iPhone при помощи любого SFTP-клиента и запоминаем место (путь к файлу), куда мы его положили.
  2. Потом заходим в MobileTerminal и изменяем учетную запись на root’a при помощи команды su и пароля (по-умолчанию alpine, если меняли — то тот, на который меняли).
  3. После этого выполнить команду dpkg -i /путь к файлу/имя.deb (к примеру, dpkg -i /tmp/stack3-alpha.deb).
  4. По экрану побегут строки текста и в результате пакет будет установлен.

Как выставить права доступа файлу или программе (папке)?

Если вы заходите через SFTP-клиент, то можно прямо в программе открыть свойства файла и поставить галочки на против разрешений. К примеру, вот так выглядит эта часть окна в программе Transmit.

transmit-permissions

Если вы работаете по SSH в консоли (или в MobileTerminal), то нужно воспользоваться командой chmod. Полную справку по этой команде можно получить при помощи команды man chmod.

Приложение в iPhone — это папка, а любая папка в *nix — это исполняемый объект, поэтому им нужно выставлять права 755 (rwxr-xr-x) или 777 (rwxrwxrwx). По-умолчанию все не исполняемые файлы имеют права 644 (rw-r—r—).

Я случайно обновился через iTunes, что будет дальше?

Все «левые» программы перестанут запускаться. Их данные сохранятся, но работать они не будут до следующего джайлбрейка (а ведь надо дождаться, пока хакеры его сварганят 😉 ). Взломанные приложения и игры из App Store тоже перестанут работать. Кроме этого, есть вероятность, что Apple все-таки закроет уязвимости iPhone OS (как это уже было) и джайлбрейк больше не возможен. Вероятность мизерная, но все же есть. Поэтому если вам действительно нужен JB — не устанавливайте обновление прошивки, как только оно выходит.

Все сломалось, iPhone работает только в Safe Mode. Что делать?

Подумайте, что вы ставили такого из Cydia, Installous или руками, что могло бы привести к Safe Mode (безопасному режиму). После удаления конфликтующего пакета и рестарта SpringBoard (в крайнем случае — гаджета) все должно вернуться на круги своя. Обычно, такие сбои могут вызывать всякие твики, темы или виджеты, но могут и обычные приложения.

Вообще все сломалось, что делать?

Черный экран, бесконечная загрузка итд. Не переживайте — превратить телефон в кирпич можно, но достаточно сложно. Есть несколько вариантов действия:

  • для начала, попробуйте восстановить телефон из резервной копии через Recovery Mode;
  • если не помогло, то придется делать повторный JB через DFU mode.

Как видите, в этом деле очень много разных нюансов с одной стороны, а с другой стороны все очень просто. Надеюсь, этот FAQ вам чем-то поможет. Я что-то упустил или у вас есть вопросы, которые я не освятил? Задавайте в комментариях, я постараюсь на них ответить.

UPD: Где взять оригинальный файл прошивки?

Если на компьютере у вас не сохранилось резервной копии оригинальной прошивки, вы всегда можете найти ее в интернете. Мой вам совет, прошивка — это единый большой архив формате IPSW (по-сути, ZIP), поэтому желательно качать его не прямыми средствами браузера, а при помощи bittorrent-клиента. Так спокойней, знаете ли.

Хотя, конечно, если вам позволяет интернет-канал — вот ссылка на сайт, с которого можно скачать любую версию оригинальной прошивки (точнее, на момент написания статьи можно было точно 🙂 ).


Читайте также: