категории | RSS

Патчим Nokia N73 до загрузки. Принцип работы Domain


____Нижеописанное может пригодится владельцам N73, смарфонов с не съемной памятью и тем у кого на данный момент просто нет в наличии карты памяти, а пользоваться прелестями патчей хочется. Ну и в принципе как общая информация будет полезна всем, особенно новичкам в симбиане, возможностях ее взлома и модифицирования.

____Для начала советую ознакомиться со следующей статьей Патчим систему до загрузки. Новые возможности смарта на Symb

____Так получилось что Nokia N73 стал ярким исключение из возможности пропатчивать систему до загрузке. В принципе причину проблемы нашли довольно быстро. Суть заключается в том что по причине хитрой задумки (ну или кривости рук) нокиевких инженеров и программистов, на N73 считывание данных с карты памяти начинается только после полной загрузки смарфона. Когда как у всех остальных карта читается непосредственно после нажатия кнопки включения.

Обойти это ограничение на N73 можно путем переделки ромпачера на полноценную работу с диска С. Патчер сам устанавливается на диск С, работает с патчами расположенными на там же, ну и основа системы domainSrv.exe тоже должен работать с диска С. При таком раскладе у смартфона есть все те же возможности что и при работе с карты памяти, но появляется очень большая проблема. Раз патчи берутся с диска С то в случае ошибки в виде отказа смарфона загружать ( по причине кривости этих самых патчей и файлов с которыми он работают ) загрузка без карты памяти пробему не решит (туже проблемы мы наблюдаем в смартфонах с с не съемной памятью). Останется только делать форматирование смартфона с 3 кнопок, да вот не задача, даже формат может не сработать в некоторых случаях. Вот и останется единственное решение, в виде посещения сервис центра и перепрошивки сматфона программатором. А ведь это в большинстве случаев денежка.

Поэтому раньше я не советовал пользоваться этой системой владельцам N73, овчинка выделки не стоит.

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

____Чем отсылать по всем уголкам сайта для поиска нужных компонентов, решил сразу собрать полноценную систему (скачать которую можно тут: на снове классического ромпатчера или на основе ромпатчер плюса) и лишь только описать принцип ее работы.
Принцип работы Domain


____Основу пропатчивания до загрузки составляет domainSrv.exe, файл с таким же именем расположен на диске Z и если упростить отвечает за загрузку части системы. Если специально модифицированный domainSrv.exe положить на диск С или карту памяти, то при включении смарфона в первую очередь будет запускаться именно он, а не файл на диске Z. Модифицированный domainSrv.exe запускает несколько наших файлов (если находит), а после запускает оригинальный domainSrv.exe с диска Z и система продолжает грузиться штатным образом.

Модифицированный domainSrv.exe запускает следующие файлы в указанном порядке очередности:

1. Boot0.exe
2. Оригинальный domainSrv.exe
3. Boot1.exe
4. 0RDAutoStart.exe
5. Boot2.exe

Где 0RDAutoStart.exe это файл автозапуска ромпатчера, именно при его запуске применяются патчи на которых стоит галочка автозагрузки, в настройках ропатчера.

Boot0.exe, Boot1.exe, Boot2.exe это любые exe из папки C:/sys/bin/ файлы которые вы назовете этими именами, пример использования описан в статье Новый способ Backup

____По мимо всего прочего, автором модифицированного domainSrv.exe был создан bootcopy.exe. При запуске этого exe происходит считывание содержимого файла BootCopy.DAT, в котором можно прописать прямой путь до любого файла и путь куда этот файл нужно скопировать.
Переименовав BootCopy.DAT в Boot0.exe или Boot1.exe, можно скопировать любой файл из системы (на диске С), или перезаписать (заменить) этот файл.
Это полезно в случае если файл невозможно скопировать или заменить при полностью включенном смарте. Например, файл с базой контактов.
Принцип работы системы отката.


____Теперь перейдем непосредственно к описанию системы отката, основан он в первую очередь на том самом bootcopy.exe, который переделан для использования файла DisableP.DAT (тот же BootCopy.DAT) с корня диска С, а не карты.

bootcopy.exe переименнованый в boot0.exe при включении смартфона считывает содержимое файла DisableP.DAT, где прописаны две команды:
1. c:\\0RDAutoStart.exe - c:\\sys\\bin\\0RDAutoStart.exe - т.е. скопировать (c заменой) 0RDAutoStart.exe (это рабочий 0RDAutoStart.exe) из корня диска с в папку c:\\sys\\bin\\, подменив тем самым тот который там был
2. c:\\DisableP.exe - c:\\0RDAutoStart.exe - т.е. скопировать DisableP.exe (нулевой файл) в RDAutoStart.exe, проще говоря переименовать DisableP.exe в RDAutoStart.exe и тем самым заменить исходный RDAutoStart.exe.

____Что в итоге мы получаем, при первом включении смартфона оригинальный, рабочий 0RDAutoStart.exe копируется в папку c:\\sys\\bin\\ и тем самым он будучи запущенным через domainSrv.exe может применить патчи находящиеся в автозагрузке.

При втором включении смартфона уже нулевой файл 0RDAutoStart.exe копируется в папку c:\\sys\\bin\\, в итоге получаем что система уже не патчится при загрузке.

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

Это страховка от сбоя, но согласитесь не очень то удобная, в таком виде.

Добавляем к ней следующее:

При полном включении смартфона, системной автозагрузкой включается приложение EnableRP (фактически это тот же bootcopy.exe, только в обертке полноценного приложения).
EnableRP читает содержимое файла EnableRP.DAT в котором прописана команда:
c:\\EnableP.exe - c:\\0RDAutoStart.exe - т.е. скопировать EnableP.exe (это переименованный, рабочий 0RDAutoStart.exe) в 0RDAutoStart.exe.

____Что в общем итоге мы получаем?

Если смартфон загружается полностью то при каждой перезагрузке он будет применять патчи до загрузки системы, но стоит смартфону не загрузиться полностью (к примеру зависнуть на загрузке или выдать ошибку самотестирования) то достаточно просто вытащить батарейку, втавить обратно, и включить его. Он загрузится как не в чем не бывало, без применения патчей. Минус в том что откат сработает если заряжать смартфон из выключенного состояния, т.к. он в том случае тоже не полностью загружается.

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

____В принципе в таком виде, система гарантирована защищена от критических сбоев вызванными кривыми патчами, даже если вы не понимаете как это все работает (но сами понимаете 100% гарантию даже всевышний не дает).

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

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

____Я не гарантирую что все вышеуказанное будет работать на все сто, у меня при тестах работало, у других тестеров тоже, что будет у остальных я без понятия, в теории все работает прекрасно, а практика себя покажет.

В общем то все.

Бонус: замена заставок включения/выключения.

Для замены заставок с помощью патча c2z воспользуйтесь файлами:

Splashscreen.mif
startup.mbm
Startup.mif
STARTUP.r16
SysAp.mif

из статьи замена заставок вкл. и выкл. на н73ме

Если без c2z.

Для замеша сплеша до ручек воспользуйтесь прикрепленным архивом, содержимое папки С скопировать в корень диска С, добавить патч c2z4bin (для N73 это c2z4bin_THUMB.rmp) в автозагрузку.

Для замены заставки выключения можно воспользоваться патчем 11. Change Shutdown image из архива файлов

Ручки пока можно поменять только с c2z.

Автор: ваш покорный слуга.
Выражаю благодарности:

CODeRUS - за подсказки по перепаковке ромпатчера.
arok - за превращение bootcopy.exe в полноценое приложение.
s.k.a.m. - за тестирование, ну и именно он подтолкнул меня к желанию заняться всем вышеописанным smile

Прикрепленный файл #1: splashscreen_by_molosar_in_2011200912518_articles.zip (10.47 кб)

DimonVideo
2009-10-30T07:47:53Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 43

#33   molosar    

reder2, а какой статье идет речь то? Есть к примеру такая Процессы Nokia 6120 classic и такая Освобождаем оперативку на смартах с рабочим domainsrv.exe


0 ответить

#33   reder2    

Я давно этим пользуюсь(относительно) тока я бы хотел узнать где это статья про оперативку


0 ответить

#33   docK2006    

Сис/бин в прикреплённом архиве - пустой. Поправьте ссылку. Объясните, пожалуйста, людям - как в таком случае поменять сплэш (до ручек). Если можно, подробней, пожалуйста.


0 ответить

#33   molosar    

Xwi1, ну так проблема в патче c2z, он такие косяки выдает.


0 ответить

#33   Xwi1    

Ребята помогите?вот у меня одна проблема, все установил при загрузке появляется сплеш, потом моргнет и дальше ничего не происходит, сплеш стоит и все!в чем причина 73ме последняя проша.


-------------
Добавлено в 12.32: А и кстати на второй раз все сработало единственный раз и все, потом сплеш стоит и ни каких движенийsmile


0 ответить

#33   Anvar79    

Большое спасибо. Этот метод много раз помогает мне, т.к. я люблю поэкспериментировать.


0 ответить

#33   Spaike_02rus    

у меня все патчи после включения становятся синими почему они отключаются????????????


0 ответить

#33   Kilnik    

Ну вот и заставку поменял) Еще раз благодарю)
А кто нибудь может подсказать в какой проге можно изображение в .mif конвертировать и наобот?

Печально что из за c2z Агент не работает....


* редактировал(а) Kilnik 10:55 29 окт 2009

0 ответить

#33   Majkll    

Цитата: Kilnik
С заставкой потом попробую разобраться



Для заставки нужно кинуть свои файлы startup.mbm, Startup.mif в папку C/resourse/apps


* редактировал(а) Majkll 17:43 28 окт 2009

0 ответить

#33   Kilnik    

Majkll, Спасибо за совет!smile Удалил Starter_arm.rsc и Splashscreen.exe. STARTUP.exe не было) Ну и с c2z наконец запустил сплеш) С заставкой потом попробую разобраться))


0 ответить

Яндекс.Метрика