Когда я начал писать эту заметку, то у меня был огромный соблазн назвать статью “Империя наносит ответный удар”, но, понимая насколько это банально и заезжено (кажется, у меня в блоге уже какая-то статья так называлась), я все-таки удержался и не сделал этого. Тем не менее, рассказать про новую серию игры Apple в “кошки-мышки” все равно надо 🙂
Apple вообще любит играть в эту игру, достаточно хотя бы вспомнить совсем недавний пример борьбы с Palm. Напомню, там суть заключается в том, что Palm сделала свой телефон Pre “прикидывающимся” iPod-ом, подменив USB ID у телефона, который должен быть уникальным. В результате этого Palm Pre синхронизируется с iTunes как будто iPod. В каждом обновлении Apple блокирует эту возможность, в каждом обновлении Palm снова обходит эту блокировку. А вот вчера появилась новость о том что Apple нанесла неожиданный, хотя и давно ожидаемый, удар по джейлбрейку, и не факт, что от этого удара он “оправится”.
Вообще нужно четко усвоить разницу между unlock и jailbreak, и понимать последствия и того, и другого.
Unlock — это процедура “отвязки” iPhone от особой “привязанности” к определенному оператору. В частности, в Штатах iPhone продается только у оператора AT&T, и поэтому он “залочен на AT&T” — таким образом оператор привлекает к себе новых подписчиков. Есть официально “разлоченные” телефоны, не привязанные ни к каким операторам — в частности, именно такие продаются в России, а также в некоторых странах Европы — например, Франции, Бельгии, Италии. По IMEI телефона Apple следит, какой телефон в каком состоянии продавался, и когда вы устанавливаете очередное обновление прошивки на телефон, iTunes через Интернет проверяет “разлоченность” вашего телефона. Если он был официально разлочен — то таким и останется, а вот если он был разлочен хакерскими инструментами (программными или аппаратными), то высока вероятность того, что телефон снова “залочится” и перестанет работать.
[ad#intext-inside]
Джейлбрейк (jailbreak) — это другая штука, хотя с анлоком может быть и связанная. Когда у вас телефон без “джейлбрейка”, то вы можете устанавливать на него приложения только из App Store, то есть только те, которые утвердила Apple. А если сделать с телефоном процедуру jailbreak (побег из тюрьмы), то на телефон можно установить Cydia/Icy и получить возможность установки различных приложений, которые в App Store по какой-то причине не попали. Например, это могут быть приложения для Google Voice, которые Apple “зареджектила” из магазина, или же приложения, которые используют какие-то технические ухищрения, запрещенные официальным SDK. Например, читалка i2Reader для листания книг использует кнопки громкости, что по правилам SDK делать, конечно же, нельзя. Но ведь удобно? 🙂
Кроме этого, проведя процедуру jailbreak, можно установить приложения, которые проводят unlock телефона, то есть отвязывают его от определенного оператора. А еще одно, крайне важное последствие джейлбрейка — это возможность установки взломанных приложений из App Store. Про пиратство на iPhone я писал неоднократно, и показатели соотношения купленных/украденных приложений у многих разработчиков зашкаливают, достигая 80-90% процентов пользующихся взломанной версией приложения, на что разработчики неоднократно жаловались в Apple. Кто-то не жалуется и пользуется KaliAP, системой защиты приложений для iPhone от взлома, кто-то не пользуется — дело каждого. Но у многих джейлбрейк ассоциируется с пиратством (хотя у него есть и “мирные” применения), и, возможно, именно поэтому Apple решила эту лавочку прикрыть.
Что же произошло? Apple прикрыла дыру, которой пользовались хакеры для взлома телефона, чтобы сделать ему jailbreak. Внутри телефона, насколько я понимаю, есть ROM-чип с определенным программным обеспечением, в котором есть была уязвимость под кодовым названием 24kpwn — используя ее, инструменты для джейлбрейка получали доступ к файловой системе телефона и делали свое “черное дело”. (Здесь используется ирония, так как в самом факте джейлбрейка, по моему мнению, плохого ничего нет, кроме самого факта взлома ПО телефона (а это — нарушение EULA). Но, с другой стороны, не будь Apple такой “замкнутой” в вопросах App Store, возможно, что джейлбрейк бы и не появился). Так вот, в новых партиях телефона iPhone 3GS, которые только начали поступать в магазины, в ROM-чипе записана новая версия bootrom, iBoot-359.3.2, где ошибка 24kpwn исправлена. Соответственно, все выпущенные на данный момент инструменты для осуществления джейлбрейка становятся неактуальными, так как взломать эти новые телефоны они уже не смогут.
[ad#intext-inside]
Означает ли это конец джейлбрейка и анлока? Вряд ли. Что написано одним человеком, всегда может быть взломано другим. Просто теперь какое-то время Dev Team придется попотеть в поисках новой уязвимости, чтобы вернуть джейлбрейк в массы, и сколько у них это займет времени — неизвестно. Важный момент — затрагивает ли это старые телефоны, 2g/3G/3GS, выпущенные до этого момента. Насколько я понимаю — нет, так как перепрошить Bootrom с помощью обновления в iTunes, видимо, не так просто, и происходит это на заводе, где iPhone собирают. Хотя от Apple можно ожидать всего, компания неоднократно преподносила своим пользователям сюрпризы. Другое дело, что, может, нуевонафик, этот джейлбрейк? С выходом iPhone OS 3.0 лично я от него отказался, так как мне достаточно приложений и в App Store, а там, глядишь, может и Apple станет спокойней в плане разрешения разных приложений в магазине?