Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Задаем вопросы по теме "Создание патчей, для начинающих"


Рекомендуемые сообщения

У меня вот такой вопрос. Какая польза от патча который выключает дисплей на телефоне в режиме ожидания? Т.е. я имею ввиду может дисплей лучше сохранаяется или еще что нить на подобии этого

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 1,4 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Mako, режим калькулятора есть в binedit

например надо посчитать BL переход с 00111110 to 00123666

в калькуляторе пишем в поле Адрес 00111110 в поле Мнемоника BL 0x00123666

и получаем код F012FAA9...можно вместо BL подставить B если надо посчитать простой переход и т.д.

nokia

Ссылка на комментарий
Поделиться на другие сайты

Slim,

Спасибо,теперь разобрался ;)

Ковыряюсь в прошивке D500XEEG3 с патчем Графический фон для информационного меню.BinEdit выдал следующее:

...

10A3E810: 6E98AC18  DCD 0x18AC986E ;Данные для команды...

10A3E814: 10230000  DCD 0x00002310 ;Данные для команды...

10A3E818: E4CEA410  DCD 0x10A4CEE4 ;Данные для команды...

10A3E81C: 44A4DF18  DCD 0x18DFA444 ;Данные для команды...

С третьей строкой все ясно-это адрес картинки,а вот остальные...?Эти данные

прописывает в патче автор,не могу понять что обозначают эти коды,это ведь не адреса?И откуда они вообще берутся?Просветите,кто знает,пожалста.. :(

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

слева в столбике это адреса где эти данные располагаються а DCD это не переход и он невычисяеться это обзначение того что здесь располагаються данные (адреса фукций, переменные, значения....)... В Д500 и подобных не BigEndian как у х100 и подобных а LittleEndian и байты там перевернуты т.е. 10230000 это 00002310 а назначение этих самых данных надо смотреть выше по коду где они вызываються и ипользуються или справа от адреса показывается где этот адресс вызываеться но может быт что этот адрес может вызываться несколько раз по коду а располагаться только в одном месте в этом. Т.е. то что ты привел здесь это данные тебе надо найти их эквиваленты...а вот 00002310 это помоему ненадо менять т.к. это какое то значение и оно должно быть такоеже для всех моделей...но иногда бывает что оказываеться это адрес какойто фукции но врядли все мелкие значения это как правило значения и их ненадо менять.....значит тебе просто надо найти 1 (переменная),3 (это помоему какаято фукция) ,4 (переменная)

как правило чтоб их найти надо найти где они ипользуются в оригинальном коде прошике и этот код схожий по структуре найти в связной прошивке и помотреть там значение и его и писать себе заместо того значения...или если знать имя этой переменной или фукции (помотреть в map или sym от этой прошике по этому адресу что за имя) то такоеже имя посмтреть у себя в sym или map файле для своей прошике и брать значение из этого файла это легче если извесны имена и есть файлы с именами...

nokia

Ссылка на комментарий
Поделиться на другие сайты

а вот 00002310 это помоему ненадо менять

И правда для D500XEED2 тоже самое! ;)

3 (это помоему какаято фукция)

С этим разобрался-это адрес ресурса

значит тебе просто надо найти 1 (переменная) ,4 (переменная)

Каков механизм поиска?А по коду нельзя определить что несет эта переменная?

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Все у кого что-то получается- написали какие то патчи или еще че.

Сделайте вклад в развитие темы!

Опишите ваше открытие, или как вы делали патч!

Новичкам в понимании информации больше всего поможет тот кто только что прошел этот этап.

ЗЫ По отсутствии времени не могу сейчас поддерживать тему.

Ссылка на комментарий
Поделиться на другие сайты

Каков механизм поиска?А по коду нельзя определить что несет эта переменная?
я уже писал как найти эквивалент переменой.. надо найти в оригинале как это используется не сам адрес где они располагаються а где они в коде используються например что то подобное

4821 LDR R0, =0x016574B0 ;R0 = значение по адресу (PC + 132)= 0x016574B0

и по этому куску кода искать такойже кусок кода в своей прошики (сопоставлять прошивку с которой патчиш со своей и если структура кода максимально похожа и там и там то брать значение в своей прошивке подобной переменой) если неполучаеться сопоставить два куска то можно искать по другому адресу где она также используеться) примерно так вобщем.

nokia

Ссылка на комментарий
Поделиться на другие сайты

надо найти в оригинале

В том-то и дело в оригинале нет,в определенном месте(найти нашел,а почему именно там не понял) идет переадресация на фукцию прописываемую в патче,

и эти переменные добавлены авторами(SergeyL и Freeman)Как я понимаю они както должны быть привязаны к цветовым схемам.Или я вообще не в ту оперу...

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

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Кто-нибудь разобрался как обходить сообщения MCC_CONFIRM - которые с подтверждением???

Подскажите пожалуйста как сделать чтобы выбиралось автоматом да/нет без появления сообщения...

X100->X620

Ссылка на комментарий
Поделиться на другие сайты

zlodey123, посмотри на обработчик нажатия клавишь IF, ELSE IF, и еще раз почитай хелпы и ветку. Если в 9 потоке идекс 8, то значит "Да", следовательно если хочешь перейти сразу на да меняй все на 21....адрес на который переходит из if. Принцып примерно такой, только я не пробавал.

Ссылка на комментарий
Поделиться на другие сайты

MaxKis - адрес, на который переходят после IF и ELSEIF одинаковый, а параметр x3 разный, т.е

IF x1=9,x2=1,x3=14, то преход на 8D0824

ELSE IF x1=9,x2=1,x3=8, то преход на 8D0824

ELSE IF x1=9,x2=1,x3=18, то преход на 8D0824

на 8D0824 находится команда MCC_BS, за ней MCC_FLAG

что это за команда MCC_BS ???[/b]

X100->X620

Ссылка на комментарий
Поделиться на другие сайты

zlodey123 Третий параметр в данном случае (14,8,18) отвечает за нажатие определенной клавиши. Это вроде в хелпах хорошо описано. 8 - вроде за левую софт клавишу отвечает. 14 - клавиша посыла вызова. 9 - on/off и т.д...

А чтобы обойти окно с подтверждением можно просто в команде, которая переходит допустим на такое окно:

 

007F5ED8  C8 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

007F5EE8  1D 08 001F 0005 0000 007F7A48 0000 0000  Если x1=8 x2=31 x3=5 то переход на mcc_sms_retmenu1 -> 0x7F7A48

007F5EF8  92 08 0050 0051 04C8 00000000 0307 0000  Запрос "Вы уверены?"

007F5F08  1D 09 0001 000E 0000 007F5F38 0000 0000  Если x1=9 x2=1 x3=14 то переход на mcc_sms_delete_all_memory_check -> 0x7F5F38

007F5F18  1E 09 0001 0009 0000 007F79C8 0000 0000  Или если x1=9 x2=1 x3=9 то переход на mcc_sms_exit -> 0x7F79C8

007F5F28  4D 01 0000 0000 0000 00000000 0000 0000  возврат из меню на 1 уровень

 

поменять адресс (007F5ED8), чтобы она сразу переходила на 007F5F38.

 

Хотя у меня какраз вопрос по поводу добавления такого окошка. Хочу сделать так, чтобы при наборе смс и случайном нажатии клавиши on/off не сразу выходить из режима набора, а после подтверждения. А то иногда наберещь кучу текста и вылетишь...:( Пока что удалось добиться чтобы он запрашивал разрешение на выход, и при положительном ответе выходил. А вот обратно вернуться это уже проблема. За место текста сообщения остаётся окно запроса и дальнейший ввод текста невозможен. Гляньте, кому не в лом ;) А то я уже всё перепробовал, ничего не получается...

E630XEDK2 + Nokia N72+1Gb

Всё, что нас не убивает, то нас делает сильней! (Е. Летов)

Ссылка на комментарий
Поделиться на другие сайты

Alexandr366, глянуть пока влом :roll:

Дам совет-окно надо вормировать на уровне tumb кода (т.к при вызове МСС теряется текс;или сохранить текс, что довольно сложно) так как например реализовано окно с выборам воода(ABC,T9) см. выше.

Ссылка на комментарий
Поделиться на другие сайты

люди у кого x600xedl2,

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

ps у меня работает на 100%

_____________________________________________v1.3_X600XEDL2__MCC.rar

_____________________________________________v1.3_X600XEDL2__MCC.rar

Ссылка на комментарий
Поделиться на другие сайты

MaxKis да, меню с T9/ABC... я в МСС не нашел, но меню опций (отправить, текст, добавить медиа...) формеруется через них. Вот где он сохраняет текст пока ищу :)

E630XEDK2 + Nokia N72+1Gb

Всё, что нас не убивает, то нас делает сильней! (Е. Летов)

Ссылка на комментарий
Поделиться на другие сайты

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

А с буквы до буквы точь в точь и ненадо переносить как ты говоришь... здесь полная свобода...куда захотел туда и запихал... ссылки перебил и вперед!!! Энто портирование ручками... а не кодоанализатором!!!

Ковыряю e630 :)

Ссылка на комментарий
Поделиться на другие сайты

Чую кончатся скоро неюзаемые области...

Ну енто врядли,У X100 вон скока натолкали :) .А у новых SWIFT-ов поболее места будет :x

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Хелп - не могу разобраться с табличкой "Нажмите* для разблокировки" в x620 - может у кого-нить есть патч для X100 в .smp формате - хочу его портировать.

Просто если занулить вызов этого окна, то тогда клавиатура не разблокируется, а в патче для X100 вроде делали чтобы табличка не появлялась, но когда нажимаешь на * - клавиатура разблокируется.

Заранее спасибо!!!

X100->X620

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Переход не помогает.

Не помогает в каком смысле-сообщение все равно появляется?

Если так то ты наверное не в том месте или не туда переходишь.

А сместить код это переписать его но без появл сообщения. Предпол. такой код

C8....

91...

50...

А сделать

с8....

50....

А еще лучше

50....

Ссылка на комментарий
Поделиться на другие сайты

MaxKis, - переход убивает табличку 'Нажмите*', НО при этом блокировку клавиатеры не снять. Получается что когда висит эта табличка телефон ждет, когда нажмут клавишу. А я хотел сделать чтобы таблички не было, но телефон ждал нажатия клавиши * ...

X100->X620

Ссылка на комментарий
Поделиться на другие сайты

zlodey123, ну попробуй сместить, хотя тут может и замутки посложнее..

Дай адрес, я посмотрю.

Ссылка на комментарий
Поделиться на другие сайты

zlodey123, ничем тебе не помогу...С X620 не имел дела.

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

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...