0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как разбить айфон и запустить сервис для 15 млн пользователей

Как разбить айфон и запустить сервис для 15 млн пользователей

Летом 2014-го мы с друзьями были на прогулке, и случилось историческое событие. Во время съемки видео, внезапно, iPhone 5C выпал с рук моей жены и разбился об бетонный пол.

Это на тот момент мне казалось печальной ситуацией. Но именно это стало толчком для запуска сервиса, который сейчас обслуживает более 15 млн пользователей.

При чем тут iPhone? Что за сервис? Как все это связано? Ответы под катом!

Предисловие

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

Ремонт

Как и любой, кто ощутил на себе горечь разбитого стекла любимого гаджета, я хотел, как можно быстрее это исправить. Сам дисплей оказался не поврежден, и ремонт — просто замена стекла тач-скрина. Знакомый порекомендовал СЦ в Киеве, и я отправил туда телефон. Его переклеили и отправили мне обратно. Я не мог дождаться, когда получу телефон почтой.

Как только я его получил, меня ждало еще одно разочарование. Тач-скрин был заменен, но по краям дисплея были желтые пятна. В СЦ мне пообещали это исправить, или заменить на оригинал вместе с дисплеем. Так как под стеклом я еще нашел царапины, то решился на полную замену дисплея.

Через неделю я получил телефон обратно, оказалось, что дисплей не оригинальный. Даже на самой поверхности было видно, что он находится под углом к корпусу. Да и цвета были тусклее, что явно отличало дисплей от оригинала. Оказалось, что оригинальные дисплеи для iPhone сложно найти. Я решил смириться с данной ситуацией, и когда-то в будущем поменять iPhone на более новую модель.

Прошло несколько дней, я потихоньку привыкал к китайскому дисплею. Я сидел на кресле и телефон выскользнул из кармана. Он упал на деревянный пол, стекло опять треснуло. Телефон с оригинальным стеклом падал много раз, но не разбивался аж до бетонной схватки. Но китайское, криво склеенное стекло, разбилось с первой попытки.

Осознание того, что оригинальное стекло купить не получится, навело меня на мысль найти донор. Я начал искать iPhone что продают на olx под запчасти. Оказалось, там много тех, у которых возникла проблема с iCloud функцией Find My iPhone. Такие телефоны нельзя активировать, и они остаются в повисшем состоянии до тех пор, пока не ввести Apple ID владельца, или если владелец удалит телефон из своего аккаунта.

Читать еще:  Какие наушники подходят для айфон 5s

Я нашел донор, iPhone 5C в отличном состоянии, заблокирован под оператора и под iCloud. Дисплей успешно подошел к моему телефону, и наконец-то все стало на свои места. Зеленый iPhone решил оставить себе, на случай чего, как донор. Наконец то я смог успокоиться и забыть о этой проблеме.

Что дальше?

Прошло несколько недель, зеленый iPhone 5C у меня так и валялся на столе под монитором. Но время от времени я вспоминал о нем, так как по привычке я не люблю чтобы вещи валялись без дела. Телефон итак был привязан к неизвестному оператору, да и еще с разбитым стеклом, толку от отвязки iCloud не было. Но мысли о том, что телефон в теории можно разблокировать, до сих пор неизвестным способом, меня не покидали.

doulCi

В общем начал гуглить, читать форумы. Нашел информацию о doulCi (название не странное, а это почти задом наперед iCloud). Это была команда энтузиастов что запустили сервер для обхода FMI для ранних прошивок iOS 7. Они запустили MITM и поменяли местами пакеты от разблокированного iPhone в заблокированный. В общем на то время Apple не делали проверок на соответствие пакетов к Serial/IMEI и doulCi успешно этим воспользовались. Их сервер проработал он не долго, но они успели разблокировать где-то 70 тыс. устройств. Те, кто успели подключиться к их серверу, получили рабочее устройство, в котором не работала SIM карта. Потом один из их команды слил исходники в интернет, и Apple успешно пропатчили такую дыру. На этом этапе их команда распалась, и все пошли разными путями. Больше их сервер не работал.

Конечно я об этом тогда не знал. Я заходил на их официальный сайт, и видел там таймеры, мол «ждите до 16:00 пятницу, тогда запустим сервера бесплатно разблокируем». И еще были всюду поля для ввода IMEI и регистрация. В общем я решил ждать этот час. Как только приходило время, я ставил будильник чтобы не пропустить, держал USB кабель наготове. Наступало время, я заходил на их сайт, а там все работает новое время запуска сервера. Попробовал подождать еще, и все оказалось рекламной заманухой. Это меня изрядно доставало, но останавливаться я не собирался.

Proxy сервера

Позже начали появляться новости о прокси серверах, мол подключившись к ним можно зайти на веб страницу.

В странице, которую выдает Apple

Нажав на «Помощь в активации» пользователь попадал на страницу с текстом. Но разработчики Apple упустили маленькую деталь, ссылка вела не на HTTPS, а на HTTP адрес.
http://static.ips.apple.com/deviceservices/buddy/barney_activation_help_en_us.buddyml
Это позволяло перехватить и подменить трафик, так как он был не зашифрован.

Читать еще:  Сколько стоит тач айди на айфон 5s

Сервера постоянно падали, лучшим что я нашел был сервер niltpH. Но и он постоянно менял порты, то ли чтобы пользователи чаще заходили на его сайт, то ли сервер не выдерживал и так он снимал нагрузку.

Я постоянно задавался вопросом, зачем делать прокси если можно переадресовать DNS запросы?
Не будет большой нагрузки, и сервер всегда будет онлайн. Но были только proxy сервера.

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

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

Первый сервер iCloud DNS Bypass

Решено, я запущу свой сервер. Одним зимним вечером декабря я приступил к разработке. Для реализации моей задумки нужен был один HTTP и один DNS сервер. Я решил написать оба сервиса на С++ используя Visual Studio 2010. Работа с сокетами напрямую байт за байтом без сторонних библиотек.

DNS протокол не сложный, на один UDP запрос, один ответ, с одинаковой структурой каждый раз. За пару часов я написал простой DNS сервер, он отвечал статическим ІР адресом на static.ips.apple.com а остальные брал с DNS от Google.

Дальше я приступил к написанию HTTP сервера. Первый этап был просто выдавать HTML страницу. Она при запуске программы загружалась в память, и потом выдавалась готовым пакетам каждому кто пришлет запрос на 80 порт. Так что моя программа выдавала страницу всем, кто прислал запрос, не зависимо от указанного хоста. В браузере все работало, но прописав DNS в настройки Wi-Fi iOS, нажав на «Помощь в активации» я получал ошибку в телефоне.

Проанализировав трафик выяснилось, что Apple использует XML файлы, генерируя по них удаленный интерфейс.

И вот ответ от сервера с запросом пароля на заблокированном устройстве:

Изучив исходник можно понять что в коде есть JavaScript, и работает он внутри тэгов

И на тот момент существующие прокси сервера использовали единственную страницу с HTML кодом.

В телефоне можно было увидеть вместо текста по активации простенький сайт. Cookies работали. Но нажав на любую внешнюю ссылку, все стили сбивались и последующие переходы были невозможны. Именно так работали прокси сервера в то время.

Через пару часов у меня был рабочий DNS и HTTP сервер, что выдавал 1 страницу по любому запросу. XMLUI оказался разметкой с неизвестными параметрами, которые нельзя было нигде найти. Да и сейчас нигде нет документации. Apple использует его только внутри своих продуктов.

Читать еще:  Что лучше айфон 5 или самсунг а5

На самом деле стандартные элементы iOS, генерируются кодом XMLUI, даже те, которые работают оффлайн. Списки, кнопки, иконки, выбор даты и времени, подменю, все это лишь результат преобразования XML схожего скрипта в интерфейс налету.

Осознание того, что множество интерфейсов в iOS сделаны именно таким, корявым способом, меня слегка разочаровало. Это когда ожидаешь, что все уже сделано максимально оптимально, а выясняется там прослойка на прослойке.

Тут я сообразил, что в теории, если знать разметку интерфейса, можно сгенерировать вполне себе удобный родной iOS интерфейс со списком значков и ссылок. Такой как настройки в iOS. И заменить им диалог активации полностью.

Все что я понимал из уже сохраненного кода, это что есть некая таблица с возможностью добавления множества

1. Стекло продолжит трескаться, а потом начнёт осыпаться


Начинается всё с малого.

Очень часто вижу объявления хитрецов, которые пишут: мол, с моим айфоном всё хорошо, разве что есть небольшая трещинка в углу. «Волосинка» и всё!

Так вот, чтобы вы знали, это полная чушь. Спустя 2-3 недели эта «волосинка» начнёт увеличиваться. На неё будут воздействовать перепады температуры нагревающегося и охлаждающегося смартфона, разрушая структуру стекла.

В итоге одна такая трещинка с вероятностью в 90% превратится в настоящую «паутину» спустя пару месяцев. Вероятно, однажды трещина дойдёт до противоположного угла.

При ударах со сколами ситуация будет развиваться ещё хуже. Если панель сильно повреждена, со временем оттуда начнут выпадать кусочки стекла. Они будут оставаться в кармане, на лице при звонках. Можно банально порезаться. Там, где оно высыпалось, обнажится матрица дисплея.

А дальше недалеко до повреждения экрана, после которого придётся прекратить пользоваться смартом.

Сколько стоит замена экрана iPhone в сервисном центре

Справедливый вопрос, однако. Если самим менять экран ссцыкотно, надо знать сколько будет стоить данная услуга у других. Давайте для примера возьмем сервисный центра Total Apple со средними ценами по Москве.

Собственно сами цены ниже, ну и в них включена стоимость материалов и «услуги раба»:

Средние цены на услуги по замене дисплея iPhone:

  • iPhone 5S — 3490 руб (60$)
  • iPhone 6 — 4490 руб (77$)
  • iPhone 6S — 9990 руб (171$)
  • iPhone 7 — 19 990 руб (342$)

Если сравнить цену с AliExpress с ценой на услуги сервисного центра, становится понятно, что самостоятельная замена экрана iPhone обойдется в два (и более) раза дешевле. Вы реально можете сэкономите деньги.

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

Разбитый экран iPhone — это пустяк! Не бойтесь ремонтировать вещи своими руками. Пробуйте — и у вас все получится!

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector