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

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

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

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


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

Привет.Расскажи те как сделать всплывающие подсказки для Д900??

Необходимо разбирать точечный пример. Вообще прошивка - это сплошные подсказки ;) Это же не стишок в конце концов, чтобы рассказывать его.

 

Можно ли добавить пункт "игры" в меню мультимедиа

Можно.

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

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

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

Как узнать адрес пункта "Состояние памяти" в мультимедиа?

Проще всего используя CGSN-патч.

Либо пройдясь по пунктам меню в прошивке.На примере X700XEFC3

mcc_lk_main_menu (0x107EC744)-->mcc_settings_main_menu (0x11139510)-->mcc_set_memory_status (0x11558AD4)-->

mcc_set_pre_fbox_memory_status (0x102D45A0)-->mcc_set_fbox_memory_status (0x113966C0)

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

Привет всем ! Хочу научится писать патчи , но тежело разобратся! Мог ли хто сделать видеоинструкцию по создаче какого-то простого патча к Х700. Было бы болие понятний ! Огромное СПАСИБИЩЕ !!! :128:

Siemens A60(прошитый) => Samsung X700 ( разбил дисплей,нет динамика разговора,прошитый) => Siemens МС60(прошитый) => Samsung I710 WM6,1 Сборка 20755 RUS(от 30.08.08)+Mitsubishi Trium Aria@(иногда не помешает)

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

Привет всем ! Хочу научится писать патчи , но тежело разобратся! Мог ли хто сделать видеоинструкцию по создаче какого-то простого патча к Х700. Было бы болие понятний ! Огромное СПАСИБИЩЕ !!! :)

Если сильно хочешь, начни с изучения ассэмблера.

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

Если сильно хочешь, начни с изучения ассэмблера.

 

 

Знаю базу ассемблера под DOS - оттуда пригодились только знания 16-тиричной системы счисления, понятия регистров, стека, ну и знания что значит каждая команда в отдельности (циклы\сравнения\добавить\поместить...).

 

Для кода в BinEdit я аналогии не нашёл, в смысле, команды те же, а чего-то там по другому устроено.

 

 

 

 

У меня такой вопрос - макросы, это часто используемые участки кода? Или что это такое?

Двери есть везде, нужно просто знать как в них войти!

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

У меня такой вопрос - макросы, это часто используемые участки кода? Или что это такое?

Это участки кода, позволяющие генерировать часто используемые операции, не имеющие строгой привязки к какому либо из патчей.

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

Кто нить раскажите как на х700 в компиляторе написать код,создания файла,установка смещения,открытие/закрытие,запись/чтение байта/строки. Интересно все таки всем это.

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

Кто нибудь знает адрес начала обработки клавиш в мр3плеере для х700 с3 или к6 неважно

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

Кто нибудь знает адрес начала обработки клавиш в мр3плеере для х700 с3 или к6 неважно

Их вообщето несколько.Для нескольких режимов(стоп/воспроизведение/пауза...) :)

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

Их вообщето несколько.Для нескольких режимов(стоп/воспроизведение/пауза...) :)

 

А повышение звука какая

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

А повышение звука какая

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

...
1018B888  69 06 1300 0000 0000 A8B91810 0000 0000  По кнопке "боковая вниз" переход на адрес 0x1018B9A8
1018B898  69 06 1000 0100 0000 D8B91810 0000 0000  По кнопке "боковая вверх" переход на адрес 0x1018B9D8
1018B8A8  69 06 1300 0100 0000 00A36B10 0000 0000  По кнопке "боковая вниз" переход на адрес 0x106BA300
1018B8B8  69 06 0400 0000 0000 249BF410 0000 0000  По кнопке "Вверх" переход на адрес 0x10F49B24
1018B8C8  69 06 0500 0000 0000 F033A910 0000 0000  По кнопке "Вниз" переход на адрес 0x10A933F0
1018B8D8  69 06 0400 0100 0000 D8B91810 0000 0000  По кнопке "Вверх" переход на адрес 0x1018B9D8
1018B8E8  69 06 0500 0100 0000 00A36B10 0000 0000  По кнопке "Вниз" переход на адрес 0x106BA300
1018B8F8  6A 00 0100 0000 0000 00000000 0E33 0000  Задержка 0 с
....

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

Mako, Да это интересно, но что делать если нет на к6 патчм CGSN я портировал его с с3, но бинедит пишет, что патч не уст. А есть ли он на к6 вообще? И где бы его достать..

Сообщение от модератора Mako
Убери галочку-Проверять установку патча
Ссылка на комментарий
Поделиться на другие сайты

я портировал его с с3, но бинедит пишет, что патч не уст

Если пишет, что не установлен, то это ещё не значит, что CGSN не работает. У меня на е730 прекрасно он работает без проверки на установленность.

А есть ли он на к6 вообще? И где бы его достать

У бывших патчеписателей на к6... dimastyj, привет :idea:

Пожертвования отправлять сюда R256859050930

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

  • 3 недели спустя...

происходит это дело в функции lk1_3root_fsm

 

 

Там как обрабатыватывается, какая клавиша нажата? Я искал где сравнивается, помещено ли в регистр значение 10 и 13, то есть коды боковых клавиш.

 

Нашёл по адресу 1083DB24, это как раз функция lk1_3root_fsm

 

Там вот что

 

1028 CMP R0, #0x10

06D0 BEQ loc_1083DB3A

1328 CMP R0, #0x13

04D0 BEQ loc_1083DB3A

 

Я думал, что это и есть сравнение, какая кнопка нажата, и если нажата, то переходит на один и тот же код.

 

Но я пробовал просто делать нули вместо этого кода - в телефоне вообще ничего не менялось - на боковые кнопки как включалась подсветка, так и включается, без изменений.

Двери есть везде, нужно просто знать как в них войти!

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

Позитрон,

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

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

Позитрон,

нулями ничего забивать не надо

 

Я просто делал так, чтобы узнать, то или не то я нашёл. Ведь если вместо сравнений будут NOPы, подсветка то не включится, значит правильное место нашёл

 

должны быть еще похожие последовательности

 

А в какой регистр пемещается код нажатий кнопки?

Я скоро уже наизусть всю функцию выучу, я там лазал много, в итоге уверенно нашёл код для "Easystudio сейчас используется" и для "Сначала выключите режим без звука".

 

Может ли быть такая последовательность:

MOV R4,13

CMP R0,R4

где в R4 (к примеру) помещается код боковой кнопки, а потом уже регистры сравниваются?

 

 

И ещё, в каком виде помещается в регистр значение? Оно в 16-тиричной системе счисления в регистр пихается?

То есть 0х13 или 19 ?

Двери есть везде, нужно просто знать как в них войти!

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

Может ли быть такая последовательность:

MOV R4,13

CMP R0,R4

где в R4 (к примеру) помещается код боковой кнопки, а потом уже регистры сравниваются?

Нет.

 

И ещё, в каком виде помещается в регистр значение? Оно в 16-тиричной системе счисления в регистр пихается?

То есть 0х13 или 19 ?

В hex. Да и какая разница, если значение одно и то же?

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

Немного отвлекусь от своего наболевшего патча, задам общий вопрос.

 

Просматривая исходники, я видел там, что одна из частых команд что-то вроде LDR Rx =какая-то_функция

 

А откуда патчеписатель знает назначение функций?

Я ни разу не видел, чтобы где-то были описания функций, хотя бы тех, которые уже известны.

 

Я думаю, мне было бы понятнее разбирать исходники патчей, если бы знал какие там функции.

Нигде нету такого описания?

Двери есть везде, нужно просто знать как в них войти!

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

А откуда патчеписатель знает назначение функций?

Название функции берется не с потолка, зачастую оно и дает понятие о том, для чего эта функция предназначена...

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

Привет всем! у меня вопрос по этой же теме: а в какой регистр функция чаще возращает значение, и что если это например список значений, я понимаю она вернет адрес в ОП а там по смещению?

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

AlexusX,

чаще всего в r0, ну а так все конечно зависит от самой функции...

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

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

Sams X100 -> SamsD600E -> SamsG600 + Sams Indigo YP-T9 4Gb + PRoLife BT56

 

Каждый видит, каким ты кажешься, мало кто чувствует, каков ты есть.

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

Тот адрес где прописываються её параметры мне надо для того

В таблице картинок..Ищи hex-код адреса картинки,попадешь в таблицу,по адресам идущими перед этим прописаны параметры картинки

Почему мой аккаунт за банили??? (Kir232006)

Не сменишь подпись,будешь задавать такойже вопрос про свой текущий аккаунт... :)

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

Сообщение от модератора micha

Почему мой аккаунт за банили??? (Kir232006)

почитай правила форума по поводу создания аккаунта и вопросы отпадут сами собой

не более 4-х цифр подряд

Нет данных

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

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

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

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

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

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

Войти

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

Войти



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