
У многих пользователей телефонов часто встает вопрос его поршивки, кто то делает это ради интереса, кто то вынужденно (избавиться от глюков и т.д.), кто то хочет изменить его и подстроить под себя путем установки своих звуковых профилей, системных меню ну и конечно же патчей которые не слабо могут изменить многие функции телефона и даже добавить новых которых не предусмотрел производитель.
В этой статье я попытаюсь Наиболее полно и доходчиво обьяснить весь продцесс прошивки и моддинга телефона даже для тех кто в этом совершенно ничего не соображает, так же постараюсь как можно подробнее описать каждую программу отдельности всю теорию после которой мы плавно перейдем к практике.
Для начала немного теории.
Микросхема памяти телефона на которой находяться все пользователькские данные и ПО самого телефона как бы разбита на несколько частей каждая из которых выполняет свою функцию итак знакомьтесь:
EROM
Идет в самом начале. В нем прописан CID и цвет телефона (чуть ниже я расскажу об этом)! так же в нем USB драйвер, поэтому мы можем прошивать телефон через usb интерфейс, хотя раньше erom'а не было и без сервисного кабеля такие функции были не доступны. В общем если убить erom кривыми руками ну иль еще чем то восстановить его можно будет уже только сервисным кабелем.
MAIN
Следом идет так называемый main телефона, В двух словах это как экзешник на windows именно в нем все инструкции для работы с телефоном, наборы функций API, и приложения такие как проигрыватель, органайзер и так далее и еще оч много интересного даже часть графики телефона намертво вшито в main и достать ее оттуда а уж тем более заменить не так то просто. Мы не раз еще столкнемся с ним.
FS или фаиловая система
Ну тут и так все ясно набор фаилов и папок для различного назначения в которых храняться как системные так и пользовательские фаилы. К системным допустим относяться драйвера для дисплея и камеры, звуковые профили и многое другое. К пользовательским это игры, приложения, графика и так далее.
GDFS
В общем это такая область в которой храняться Все жизненно важные настройки телефона, такие как копия IMEI которая должна совпадать с IMEI в OTP, телефонная книга, календарь, и прочее. Самое важное что GDFS уникален для каждого телефона и если вдруг прошить его от другого аппарата (пусть даже точно такого же), то при включении вы увидите сообщение "вставьте верную сим карту" но никакая симка уже вам не поможет. Телефон придеться разлочить флэшером который поддерживает unloc/repair.
А теперь немного о терминах которые встретились вам выше но я их не расписал.
OTP - one-time-programable - область памяти в телефоне с возможностью однократной записи, это как болванка CD-R один раз записал и все. В ней например хранится IMEI, а также номер CID. А что же такое этот самый CID спросите вы.
CID - номер, "сертификат" в телефоне, определяющий способ защиты от доступа к флэш памяти телефона сторонним нефирменным сервисным софтом, сложновато понять но чуть позднее все расскажу.
Red - идентификатор телефона. Как правило RED телефоны предназначены для продажи
Brown - тестовый образец (также Brown телефоны получаются после разлочки/прошивки. Для возврата на Red необходимо например в сделать Unlock/Repair)
Blue - телефон, собранный на фабрике, но с чистой OTP зоной, без прошивки и GDFS (видимо так называемый empty board)
Защита SE или почему прошивка дело не простое.
C помощью SEUS прошить любой телефон может даже кто совершенно не разбираеться в прошивке. Но тут есть несколько минусов.
А имено: при прошивке телефона (не смартфона) шьеться только main а в FS только заменяються фаилы которые подверглись изменениям разработчиками SE поэтому таким способом не лечаться некоторые глюки (по несколько ярлыков java приложений, неоткрываються некоторые папки в диспетчере фаилов и так далее.)
Еще один минус это то что Это официальное ПО и с помощью него нельзя производить какие либо изменения в прошивке (патчинг, удаление стандартного ПО, замена драйверов камеры/звука и так далее), Чуть не забыл, Компьютер должен быть постоянно подключен к интернету+ расходуеться большое количество трафика что не есть гуд.
Но это было небольшое отступление от темы теперь продолжаем.
Для прошивки программа-флэшер должна иметь соответствующий загрузчик (Loader) для каждого CID для получения доступа к памяти телефона. Загрузчики так же бывают разные одни используються для непосредственно поршивки, другие работают с фаилами в FS. Выдрать загрузчик допустим из стандартной порграммы для обновления ПО во всех телефонах SE не составляет труда, именно так и работает на данный момент XS++ используя загрузчики от SEUS и прошить ими так же можно. Каждый загрузчик подписан сертификатом и используеться для своего цвета и CID телефона. Телефон при загрузке загрузчика проверяет его цифровую подпись и если что не так то он его отвергает поэтому изменить в нем что то не представляеться возможным. Ну и что скажете вы, а я возьму загрузчик от SEUS и поршью с помощью него поршивку которую изменю так как мне захочеться. А вот фиг ответят вам из SE Прошивка (точнее каждый блок поршивки размер блока и хешей блока зависит от сид и платформы) тоже подписана сертификатом поэтому изменить в ней без пересчета контрольной суммы хэша (заголовка) не удасться ничего, Именно так и работает Gslider он берет фаил прошивки патчит ее и пересчитывает каждый блок прошивки в поисках коллизий, но такой способ работает только с телефонами k750/w800 и более ранними потому что в поздних моделях SE увеличила размер хэшей и... и пересчет сумм займет довольно продолжительное время даже на очень мощном компьютере. С Файловыми операциями еще хитрее, Что бы получить доступ к файловой системе необходимо пройти аутенфикацию, процедура выглядит следующим образом:
Телефон отправляет на компьютер запрос в виде цифр, допустим 22 компьютер (точнее флэшер) по специальному алгоритму обрабатывает данный запрос и выдает ответ допустим 34, телефон получает ответ сверяет его с тем что он должен был получить отдавая запрос и если все нормально то милости просим.
Самое интересное что Мы не знаем самого алгоритма и для доступа к файловой системе используем различные ухищрения: брутофорс - когда компьютер инициализирует процедуру аутенфикации до тех пор пока не попадеться знакомый вопрос, либо брекинг лоадерами которые идут в обход.
Но не все так грустно Народные умельцы находят уязвимости в защите SE и используют их для получения доступа к прошивке телефона Каждая из программ работает по своему но есть и общие принципы. Ниже я вкратце познакомлю вас со всеми и представлю ссылки на более подробное описание каждой программы.
Еще немного добавлю что уже появились лоадеры которым не нужно для доступа к фс порходить аунтификацию, я точно не знаю как они работают, да и авторы особо не деляться способами (и правильно а то SE начнет латать такие дыры!)
Патчинг или работа с ФС зачем и что это такое.
Но для начала еще одно маленькое отступление что бы прояснить некоторые ньюансы, т.к. некоторые пользователи путают патчи с тем, что делаеться заменой фаилов в фс.
Патчи- для того что бы понять что такое патч нужно вспомнить азы работы процессора, для тех кто не помнит или не знал вовсе расскажу.
Процессор (в том числе и телефона) выполняет команды (инструкции) одну за другой выполнил 3 пеерходит к 4й, потом к 5й но не все так просто инструкции могут выполняться и не по порядку. Допустим стоит условие если число X=25 то переходим к 6й иначе к 25й. это просто пример. Смысл патчей в этом и состоит что бы заставить телефон работать так как хотим мы, а не так как думал что мы хотим производитель. Так же бывают патчи на перенос каких либо системных папок и так далее. рассмотрим один из них, допустим несложный патч Игнорирование "Полномочий" для явы.
В таблице ниже показан слева сам патч какой он есть справа что есть что.

Такие патчи называються V-klay и расширение у них *.VKP Бывает что их выкладывают на форумах в том виде какой есть, что бы его установить доводим патч до понятного для порграммы вида: Открываем блокнот и вставляем туда текст нашего патча. Сохраняем. Теперь нужно переименовать полученный файл в вид: *.vkp, т.е. сменим его расширение. Получаем файл, готовый к патчеванию.
А вот работа с ФС нам намного ближе, тут обычные фаилы которые можно удалить переименовать, заменить ну и так далее единственное что не все они видны. пользователю при подключении телефона видна лишь одна папка tpauser остальное находиться в закрытой области файловой системы доступ к которой просто так не получишь.
Подготовительные операции.
Все операции производяться когда телефон выключен! После каждого удачного/неудачного подключения телефона к компьютеру рекомендуеться передернуть батарею.
Если вы поршиваете в первый раз то необходмо установить драйвер для прошивки, он универсальный и идет на все телефоны SE (нет не тот что был на диске):
вырубаем тел зажимаем кнопку "C" и подключаем с зажатой кнопкой к компу. Компьютер найдет новое устройство (кнопку можно отпускать). Указываем ему на наши прошивочные драйвера (предварительно разархивировав!).

после того как все установиться отключаем телефон от компьютера, передергиваем акумулятор (обязательно!). Все драйвер установлен. если что то не получаеться пробуем: другое гнездо USB проверяем кабель, чистим разьем, покупаем шаманский бубен 7й модели как минимум.
Используемый софт и его возможности.
И наконец то главная часть данной статьи. Здесь вкратце - какие программы используються (бесплатные) и какие возможности у них есть,
SEFP (Sony Ericsson File Plygin).
Автор данного плагина для фара человек под ником Darkmen На данный момент он не знаимаеться над проектом пордолжил начатое Den_po Стоит отдать должное этим двум людям за то, что они дали нам, а именно на данный момент плагин имеет полную поддержку DB2010/CID36 для остальных
DB2020 CID49/51/52/RED
Поддерживает только Заливку/удаление фаилов. чтение файлов не работает, не требует прошивки breaking-лоадеров.
DB2010 CID49/Brown
Поддерживает Заливку/удаление/чтение файлов, так же не требует прошивки breaking-лоадеров.
DB2010 CID49/RED
Поддерживает FS и FLASH (последнее пока не на всех аппаратах.)
Полноценно работает: k750, w700, w550, w600.
Работает только FS: k510, z530, z550, w300, w810, k310. Для этих моделей после работы плагина необходимо либо прошить main либо Rest тем же XS или setool2lite.
PS: с плагином удобно производить файловые операции и патчинг тех моделей у которых есть поддержка flash.
XS++
Поддерживает прошивку телефонов и смартфонов на платформе DB2000, DB2010, DB2020, PNX5320 так же DB2010 W810i CID50.
Для K750/W800 и используеться разлоченый CSloader. Нет необходимости использобавть брекинг метод.
поддерживает различные операции с файловой системой, для DB2010/2020: просмотр, загрузка, и удаление файлов.
Снятие кода пользователя (user lock), поддерживает работу с GDFS чтение, запись, работу со скриптами и многое другое. в дальнейшем ожидаеться патчинг.
jdflasher
По сути Это продолжение SEFP но плагин представляет большие возможности и более автоматизирован.
Поддержка db2000/2010/2012/2020/pnx5230.
Почти всё так же, что и в sefp, только вручную ни лоадеры ни ресты заливать не надо
Работа с db2010 cid49 brown и с db2000 cid49 red
Патчинг DB2020, работа с FS включая чтение.
Setool2Lite
Поддержка DB2020/DB2010/DB2012 CID49/51/52 телефонов (прошивка, финализация, чтение и запись файлов, чтение и заливка GDFS)
Чтение кода пользователя DB2010/DB2012/DB2020 CID49, 50, 51 (кнопка Unlock/Repair)
Чтение кода телефона для DB2020 на любом CID (кнопка Unlock/Repair)
Патчинг DB2010 все CID и DB2020 CID52