Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Техника и электроника > Телефоны, смартфоны, комуникаторы, КПК, GPS > Nokia
Расширенный поиск

Nokia Раздел для смартфонов и телефонов. Тут море полезной информации, можно бесплатно скачать программы для смартфона, взломать смартфон и многое другое. Все для Symbian 9

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2009, 20:49 Вверх   #1
Грамотный форумчанин
 
Аватар для MAXS
MAXS вне форума
Доп. информация
По умолчанию Создание патчей для ROMPatcher

Для этого нужно поставить утилиту DumpROM, она есть на любом практический сайте, из этого пакета, и снять ей дамп (пробежит полоска. на карте памяти образуется файл romdump.dmp, размером в мб этак 15 и более, у всех по разному). Собственно он и являет собой просто скопированный кусок памяти который мы можем изменять. т.е этого в принципе достаточно что бы сделать патч. Запомните что начальный адрес снятия патча был F8000000 (для Symbian 9.1) или 0х80000000 (для Symbian 9.2), его можно было видеть в самом начале снятия дампа, верхняя строка. Это просто адрес в памяти. ничего более.
Вот мы сделали дамп. Открываем его 16-тиричным редактором (например, WinHex) и ишем что там надо. в данном случае нам надо найти путь к файлу swipolicy.ini или хотя бы какое-то его упоминание, чтобы было ясно в каком направлениии копать. ищем обязательно в UNICODE !!!!(приложение 1 (скриншот 102 кб)), где бы не искали. Программа перейдет на кусок кода в котором найдены похожие строки. а именно:
z.:./.s.y.s.t.e.m./.d.a.t.a./.s.w.i.p.o.l.i.c.y...i.n.i - вот этот путь (в юникоде после каждой буквы/символа будет стоять байт 00 - нулевой, он обычно отображается в виде точки)
Теперь нам надо определить адрес этого блока в памяти. для этого переставляем курсор на z (первый символ из приведенной мною строки), и смотрим его адрес в нижней строке состояния, у меня это 7FA9F8, но это адрес на диске. В памяти начальный адрес у нас был или F8000000 или 80000000, зависит от того, какая ОС. данные пример я проделывал на телефоне 6120с, значит прибавляем этот адрес к 0х80000000, получаем 807FA9F8.
Сам файл патча *.rmp очень прост. содержит минимум 2 строки, где 1-я это название. а вторая - сам патч, некое руководство к действию для программы.
В данном случае автор решил присудить патчу имя ChangeSwipolicyPath.rmp, что вполне уместно.
1-я строка - название. назовем как и ранее *** ChangeSwipolicyPath 1.0 ***
2-я - метод. в данном случае мы знаем точный адрес, и можем сделать вообще просто используя такую команду патча как abs (патч по абсолютному адресу). Формат abs:Адрес:старые байты:новые байты. тогда строка примит вид:
abs:807FA9F8:7a003a005c:63003a005c
Где старые байты я взял z.:., новые c.:., подсвечен байт, отвечающий за буквы Z (7a) и C (63).
должно работать. остается только перенести файл swipolicy.ini по пути z:/system/data/swipolicy.ini и отредактировать его как хочется.

Полученый патч желательно применять на точно таком же телефоне с той же версией прошивки, иначе возможно проблемы, так как по полученому нами адресу в телефоне другой марки но той же версии операционной системы может лежать другой код !!!

Будьте осторожнее при использовании abs, ибо он может патчить ЛЮБОЙ адрес (даже некоторые в ядре), например abs:60000148:1E:10 ни что иное как патч капабилити для 9.1.
также при чтении некоторых адресов телефон перезагружается (так на всякий случай)
добавление _zorn_, ибо мне об этом известно не было.


Есть способ, с моей точки зрения, более удобный. А именно извлечь из этого дампа все файлы и просматривать их поотдельности. Делается это так. Из ранее скаченого набора для дампа, запускаем утилиту Zripper.exe и указываем ей наш дамп на компьютере, т.е кладем Zripper.exe и romdump.dmp в корень диска С, жмем комбинацию клавиш Windows - R (или просто заходим Пуск - Выполнить), набираем CMD, появится черное окно. Вводим в нем cd C: и оказываемся в корне диска C. далее вводим
Zripper.exe romdump.dmp
и жмем Enter (выполнить). Пойдет процесс распаковки, после чего появится папка C:/DiskZ, внутри которой лежат те файлы, что и в области памяти, которую мы можем изменять (патчить).

При обычном перетаскивании файла дампа на консольный распаковщик диск Z сохраняется в C:/Documents and Settings/User/ - это для ХР


Далее идет изучение этих файлов с помошью 16-тиричного редактора чаще всего, но в нашем случае цель нам ясна и мы просто можеи искать в юникоде часть названия нужного нам файла. Очень удобно это делать в таком файловом менеджере как Total Commander, например. Стоит нажать Alt - F7, и ввести в нижней строке "с текстом" часть того названия которое нам нужно (например, swipoli), выбрать ЮНИКОД, и нажать Искать.

В Юникоде содержатся в основном пути, так что если будете чего-то искать - ищите и в ASCII тоже, на всякий.

В любом случае мы наткнемся только на 1 файл, а именно на securitymanager.dll, находящимся в sys/bin (это все важно).

Опять следует процедура открытия этого файла 16-тиричным редактором, и поиск нужного значения. и опять мы увидим ту же строку z.:./.s.y.s.t.e.m./.d.a.t.a./.s.w.i.p.o.l.i.c.y...i.n.i . значит мы на правильном пути!

В этом случае нельзя пользоваться командой abs, потому что мы не знаем где в памяти располагается этот файл. для обхода этого есть 2 другие команды
rel - патч по относительному адресу, Формат rel:путь до файла в РОМ:адрес относительно начала файла:старые байты:новые байты.
snr - SearchNReplace (поиск и замена), Формат snr:путь до файла в РОМ:старые байты (которые нужно найти):новые байты (которыми нужно заменить).

При этом структура файла патча не меняется. все те же минимум 2 строки.

Значит в этом случае патч будет либо
rel:36a8:7a003a005c:63003a005c
что значит выделение описывал выше.

Либо:
SnR:sysbinsecuritymanager.dll:1C0000007A003A005C00730079007300740065006D005C0064006100740061005C0073007700690070006F006C006900630079002E0069006E006900 :1C00000065003A005C00730079007300740065006D005C0064006100740061005C0073007700690070006F006C006900630079002E0069006E006900
Здесь берут обычно строку подлинее, чтобы не она не встретилась в этом файле больше чем 1 раз, иначе могут быть плачевные последствия. благо что почти все они исправляются перезагрузкой смартфрна


Так же, если необходимо заменить небольшой файл, с большим патчер может не справится (не забывайте что это все же мобильний телефон), то можно воспользоваться такой комбинацией:
rel:file:00:oldbytes:newbytes
Из описаного выше понятно что будет найден файл в памяти и заменен с самого первого байта, т.е. с начала

Исходя их этого всего вытекают несколько минимальных правил написания патча:
-- количество старых и новых байт должно быть одинаково
-- 1 байт это два символа в 16-тиричном виде, а значит если в какой-то момент вы пересчитали байты и оказалось что они указаны 7-ю (например, любое нечетное число) символами, то это ошибка и о ней вам скажет патчер и патч не будет работать.

Будете искать какие файлы использует то или иное приложение - советую для быстроты использовать ActiveFile. запустили программу, выбрали в меню Инструменты - Менеджер задач. нажали 9, и смотрите. далее изучайте эти файлы.

Про 16-тиричную систему и hex редакторы можно найти информацию в интернете, но к примеру цифры отображаются как 30, 31, 32, ... 39. а мы их видим как 0,1,2, ... 9
посмотреть это можно набрав в 16-тиричном редакторе символ/букву и увидив сразу её код. там в принципе не сложно.
Здесь все нужное: http://webfile.ru/3332688
http://webfile.ru/3332778

Последний раз редактировалось MAXS; 03.04.2009 в 15:16.. Причина: Добавил "сссылкууу" на некоторые проги
  Ответить с цитированием
Старый 03.04.2009, 11:50 Вверх   #2
Коренной житель
 
Аватар для Yerdna
Yerdna вне форума
Доп. информация
Печаль

А где можно скачать комплект программ указаных в инструкции?
P.S С поиском у меня туговато((((
  Ответить с цитированием
Старый 03.04.2009, 15:01 Вверх   #3
Грамотный форумчанин
 
Аватар для MAXS
MAXS вне форума
Доп. информация
По умолчанию

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


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Вопрос] Создание тем для SE k850i Error2012 Sony Ericsson 4 21.06.2011 17:57
Создание ICQ чатов. zer0cool Доска объявлений 0 23.04.2011 13:43
Создание Демотиватора Ghost DataLife Engine 0 03.05.2010 19:29
Создание сборного CD COMBAT Software (Программное обеспечение) 5 18.04.2010 08:36
Установка патчей в телефон с помощью GSlide15 boxx Sony Ericsson 0 04.01.2008 14:03


Текущее время: 08:37. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.09881 секунды с 14 запросами