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

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

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

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


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

Я упорно не понимаю принцип конфигурирования текстовой строки focusbox.

Вот соорудил строку для ввода телефонных номеров:

 

MOV	R7, 0; v_FocusIndex

MOV	R2, 0
STR	R2, [SP]
MOV	R3, #0x25*2
MOV	R2, 1; 1 = текстовая строка ввода
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocus; p_DspFocus, v_FocusIndex, v_FocusType, v_FocusHeight, v_NbFocusItem

MOV	R2, 0
STR	R2, [SP, 4]
LDR	R6, =t_StartEditData
STR	R6, [SP] 
MOV	R3, 4; 4 = данные для редактирования
;MOV	R2, 0
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0
STR	R2, [SP, 4]
LDR	R0, =t_phone
STR	R0, [SP]
MOV	R3, 0; - заголовок окна
;MOV	R2, 0
MOV	R1, 0
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0x37; ???
STR	R2, [SP, 4]
MOV	R2, 0
STR	R2, [SP]
MOV	R3, 6; - конфигурирование
;MOV	R2, 0
MOV	R1, 0
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0x37; ???
STR	R2, [SP, 4]
MOV	R2, 0
STR	R2, [SP]
MOV	R3, 7; - конфигурирование
;MOV	R2, 0
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

 

Работает. Хотя, вероятно тут что-то лишнее или не хватает.

 

Но, проблема абсолютно не понятная!

Вызывается это через стандартную обработку *#-кодов.

Если мой код вызова набрать сразу - то всё отлично.

Но, если набрать любой несуществующий *#-код, завершить его #, и потом удалить и ввести мой код - то в первом поле оказывается не то что я туда пишу в lk_AddFocusItem R3,4 - а тот код что был введён!

Я вообще не представляю как он там оказывается!

Блок с lk_AddFocusItem R3,4 вообще пробовал убирать (на случай если у меня где-то буфер накладывается) - т.е. у меня вообще в патче нет процедуры загрузки редактируемой строки - без толку, *#-код всё равно оказывается в первом фокусбоксе!

 

Т.е. видимо я как-то не правильно делаю всю эту lk_AddFocusItem инициализацию, и код подхватывается из какого-то системного буфера. Причём что интересно - при отмене срабатывает MCC_FOCUS_CHANGE - т.е. вроде как данные кто-то редактировал.

 

Вобщем, как правильно сделать фокусбоксы для ввода ?

 

мне нужен для ввода телефонного номера

 

и ещё для паролей - сейчас делаю так:

 

MOV	R2, 0
STR	R2, [SP]
MOV	R3, #0x25*2
MOV	R2, 1
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocus; p_DspFocus, v_FocusIndex, v_FocusType, v_FocusHeight, v_NbFocusItem

MOV	R2, 0
STR	R2, [SP, 4]
STR	R6, [SP]; начальный пароль из конфига
MOV	R3, 4
;MOV	R2, 0
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0x37
STR	R2, [SP, 4]
MOV	R2, 0
STR	R2, [SP]
MOV	R3, 7
;MOV	R2, 0
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0
STR	R2, [SP, 4]
LDR	R0, =t_pass_name; имя этого окна
STR	R0, [SP]
MOV	R3, 0
;MOV	R2, 0
MOV	R1, R6
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

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

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

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

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

Причём что интересно - при отмене срабатывает MCC_FOCUS_CHANGE - т.е. вроде как данные кто-то редактировал.

Хм.. МОжет это проблема новых телефонов - потому что у меня на G600 в архиве смс при редактировании номера - тоже срабатывает mcc_focus_change при отмене (а на D900 все норм).

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

[AlaSToR],

это в таком случае не проблема, а это мы не умеем работать с новыми фокусбоксами :(

т.к. портируем их из старых патчей.

надо видимо снова с нуля раскопать построение этих меню на базе новой прошивки

ведь в самих штатных меню - нигде такого бага нет!

это какая-то фича по автозаполнению, которую мы не знаем и случайно задействуем…

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

[AlaSToR],

это в таком случае не проблема, а это мы не умеем работать с новыми фокусбоксами :(

т.к. портируем их из старых патчей.

надо видимо снова с нуля раскопать построение этих меню на базе новой прошивки

ведь в самих штатных меню - нигде такого бага нет!

это какая-то фича по автозаполнению, которую мы не знаем и случайно задействуем…

А в SIM Chooser'e нет такого бага?

И кстати, можешь поподробнее объяснить проблему - честно говоря, я особо не понял... Ты имеешь ввиду, что если поле пустое - то почему-то туда забивается * и # ?

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

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

Забивается туда строка *#28*0000# - мой "секретный" код вызова моего меню.

Т.е. буфер ввода телефонного номера почему-то копируется в мой фокусбокс.

Вероятно, это какая-то фича - «копирование введенного тел.номера в запущенное меню», но вот как её ликвидировать…

Изменено пользователем f2065

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

Есть вопрос.Я хочу сделать патч,чтобы в плеере при проигрывании музыки ,после нажатия левой софт,замисть 1 пункта (пауза)заменить на передать через.Тоисть при прослушывания музыки,была возможность передать медиа файл,не прерываю работу плеера(Как на нокиях).Возможно ли такое сделать?Что для етого нада найти в прошивке.Иль ет будет очень трудно создать?

И еще,в некоторых патчах,есть неиспользоване место.Для чего оно ?..

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

Вот накидал по-скорому патчик для сиспсона, немного откоменил. Для E250XEFL1

;				   Тут подменяем текстовый ресурс для загрузки

.start 0x20C9DE30
.hex dd	; Подразумевается код .word 0x05DD, но разницы никакой
;				  т.е. теперь будет грузиться ресурс 0x05DD, но его надо исправить


.start 0x20AF66D6; Это адресс текстового ресурса с индексом 0x05DD
;				   Исправление только в русском языке!!!

.string "Отправить по Bluetooth"

;Надо исправить адресс перехода
;Его (0x20CFE81C) заснимаем при помощи CGSN
;Стартовый адресс - тоже

.start 0x210EE1A0 + 8
.word 0x20CFE81C;вот сам адресс

--------------------------------------------------------

Теперь о плохом.. В меню появляются артефакты в названии первого пункта, см. скрины. (Хотя написано в исходнике всё правильно)

119788-10-07-09)1247243154_thumb.jpg119788-10-07-09)1247243164_thumb.jpg

Как это исправить?

Изменено пользователем ZhekSooN
  • Like 1

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

FRAER,

"Ошибка активации PDP".

Новый ресурс влез полностью, ничего не перекрывая.

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

Подскажите пожалуйста что делать если нету символьной информации на телефон? Хочу поиграться со своим D980. Уже 3-й день читаю форум и везде пишут:

нам понадобится:

1. Программа BinEdit от AlexeyK.

2. Чистая прошивка.

3. Файл сигнатур.

п1 и п2 есть, а вот с файлом сигнатур проблеммка... есть только карта для ресмана с картинками и яз. ресурсами. Как быть? Что делать? Что читать?

Хочу хоть как-то загрузить куда-то свой D980XEHL1_Master.cla файл или в ИДУ или в BinEdit. Последний пишет "Тип прошивки не удалось определить "...

 

Заранее спасибо за ответ/совет...

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

ZeonET,

про файл сигнатур (.sym, .map) забудь.

он добыт только для древних прошивок (самое новое - E740XEGF4), автоконвертер делает около 30% неверных адресов, т.е. по нему потом уходит масса времени на отлов глюков, и все адреса надо всё равно вручную искать.

его надо руками писать, но там около 50000 строк потому это малореально.

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

 

бинедиту нужен BE-файл

D980XEHL1_master_be_20090715.rar

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

  • Like 1

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

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

MOV	R2, 0x37; ???
STR	R2, [SP, 4]
MOV	R2, 0
STR	R2, [SP]
MOV	R3, 6; - конфигурирование
;MOV	R2, 0
MOV	R1, 0
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV	R2, 0x37; ???
STR	R2, [SP, 4]
MOV	R2, 0
STR	R2, [SP]
MOV	R3, 7; - конфигурирование
;MOV	R2, 0
MOV	R1, R7
MOV	R0, R4
BL	lk_AddFocusItem; p_DspFocus, v_FocusIndex, v_FocusItemIdex, v_ItemType, p_Item, v_Item

MOV R2, 0x37; ???

Это задается количество возможных введеных символов, или попросту длина.

Закономерность пока не выяснил, но 0x37 это не само количество, а вычисляется скорее всего по таблице, к примеру 0х3D это ~5 симловов, 0х35 ~20 симловов.

 

P.S. насчет ввода в свое меню по коду, то посмотри тут

mcc_ed_activation_int_ind (0x2025D1E8) это для E740XEGF4.

Тут вроде проверяются введеные коды и переходы по ним :bx:

  • Like 1
Сложность программы растет до тех пор, пока не превысит способности программиста!!!
Ссылка на комментарий
Поделиться на другие сайты

Вот создал патч,в плеере задействовал кнопку правая софт.Все работает,но

Как убрать ети рыски?Прошу удалить верхнее сообщение.Как то случайно

105268-18-07-09)1247914184_thumb.jpg

______________.rar

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

Вот создал патч,в плеере задействовал кнопку правая софт.Все работает,но

Как убрать ети рыски?Прошу удалить верхнее сообщение.Как то случайно

Ты сам глянь, как напротачил то в патче? Я думаю, это ведь невооруженным глазом заметно:

<nord offset="0x685FC4" from="69060F0080000000C4D9422100000000" to="A4C94221" />

From = 16 байт, To = 4 байта. В итоге - на начало мсс-скрипта ты пытаешься записать адрес, как данные...

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

' date='18.07.2009, 2:14' post='452035']

Ты сам глянь, как напротачил то в патче? Я думаю, это ведь невооруженным глазом заметно:

 

From = 16 байт, To = 4 байта. В итоге - на начало мсс-скрипта ты пытаешься записать адрес, как данные...

 

Ну коль так то

<nord offset="0x685FC4" from="C4D94221" to="A4C94221" />

так ты вообще мажорчег))) адрес взял правильно а мсс откудова начал копировать то? :)

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

Ну коль так то

<nord offset="0x685FC4" from="C4D94221" to="A4C94221" />

так ты вообще мажорчег))) адрес взял правильно а мсс откудова начал копировать то? :28:

Я ведь только учусь.,а саморуч разобратся немного трудно...Я смотрел ,по левой софт клавиши,когда плеер стоить ,то переход сюда A4C94221 ,так само я задействовал правую софт и переход туда же A4C94221.В чем проблема?Почему не получается?Где имено моя ошыбка from="C4D94221 ?? иль здесь to="A4C94221" ???На что исправить?

А как ето ти вычислил?

From = 16 байт, To = 4 байта

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

Я ведь только учусь.,а саморуч разобратся немного трудно...Я смотрел ,по левой софт клавиши,когда плеер стоить ,то переход сюда A4C94221 ,так само я задействовал правую софт и переход туда же A4C94221.В чем проблема?Почему не получается?Где имено моя ошыбка from="C4D94221 ?? иль здесь to="A4C94221" ???На что исправить?

А как ето ти вычислил?

From = 16 байт, To = 4 байта

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

Вот смотри:

 

<nord offset="0x685FC4" from="69060F0080000000C4D9422100000000" to="A4C94221" />

 

Посчитай циферки кода который меняешь и раздели на 2 - вот тебе и будет кол-во байт. После подсчётов увидишь на самом деле что from"" у тебя 16, а to"" - 4 байта.

Но самое главное - речь не в правильности найденного тобой адреса A4C94221, а в том куда ты его собираешься записать! Смести начало на 8 байт (nord offset="0x685FC4... +8 получится nord offset="0x685FCC....) - вот тогда будет правильно и к месту. Понял? Ну или по другому:

 

<nord offset="0x685FC4" from="69060F0080000000C4D9422100000000" to="A4C94221" />

 

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

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

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

Вот смотри:

 

<nord offset="0x685FC4" from="69060F0080000000C4D9422100000000" to="A4C94221" />

 

Посчитай циферки кода который меняешь и раздели на 2 - вот тебе и будет кол-во байт. После подсчётов увидишь на самом деле что from"" у тебя 16, а to"" - 4 байта.

Но самое главное - речь не в правильности найденного тобой адреса A4C94221, а в том куда ты его собираешься записать! Смести начало на 8 байт (nord offset="0x685FC4... +8 получится nord offset="0x685FCC....) - вот тогда будет правильно и к месту. Понял? Ну или по другому:

 

<nord offset="0x685FC4" from="69060F0080000000C4D9422100000000" to="A4C94221" />

 

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

 

Мдя нада сначала на код в теле посмотреть а потом постится не в обиду...

Я же написал что адрес для замены он выбрал правильно.... по адресу

20685FC4 находится вот такой хекс... C4D942210000000069060D0080000000

а ммс та что указана в посте начинателя)) по адресу:

20685FBC 69 06 0F00 8000 0000 C4D94221 0000 0000  По кнопке "правая софт" переход на адрес 0x2142D9C4

тоесть он правильно взял адрес

20685FC4 по которому ему нада просто заменить адрес перехода)) A4C94221

вот и все я тебе показал как нада сделать что было правильно

<nord offset="0x685FC4" from="C4D94221" to="A4C94221" />

вот и все... ну или если уж ты разошелся менять всю строку то так:

<nord offset="0x685FBC " from="69060F0080000000C4D9422100000000" to="69060F0080000000A4C94221 00000000" />

 

хух ну вроде ясно обяснил... а Руслан тебе говорил "" у тебя 16, а to"" - 4 байта.

так как можно на мето 16 байт писать 4????

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

Парни, объясните пожалуйста мне что значат строчки:

RAM_Area Start="0x30800000" Len="0x800000"; как я понял оперативная память ? но для чего точные данные про длину и откуда они?
FLASH_Area Start="0xFE0000" Len="0x20000";что за FLASH_Area  ?
RemapBlok Start="0x0" Len="0x10000" Goto="0x0"; почему именно начальные 10000 байт такие, что в них находиться? 

 

f2065 дал мне be файл к моему телефону, за что ему большое спасибо! Но интересно узнать что там за параметры (FLASH_Area, RemapBlok ...) и как их можно самостоятельно узнать?

 

Нашел только такое описание, может кому-то пригодиться (сам долго искал):

Описание BE формата файла

;Файл описания прошивки, что то типа rtx для ResMan, позволит избежать сканирования при каждой загрузке прошивки

;Сканирование запускается, только при отсутствии файла с описанием. имя файла совпадает с идентификатором прошивки.

 

;Перед началом сканирования предлагается ввести адрес по которому загружается прошивка.

 

;Описание текущих ключей и параметров.

 

Bin ID="идентификатор прошивки" adr="адрес размещения идентификатора в прошивке" base="адрес загрузки прошивки" TYPE_ARM="BigEndian/LittleEndian - вид ARM"

 

SaveDataBin Enable="Y" ; необходимость сохранять информацию о прошивке

 

RemapBlok Start="адрес в прошивке" Len="длина блока" Goto="адрес, куда перемещается блок" - информация о перемещении блоков памяти

 

LangNames adr="адрес в памяти где расположена таблица имён языков" steps="количестко байтов на имя"

 

LangCount adr="адрес по которому записано количество языков" Default="количество языков по умолчанию" TableIdAdr="адрес таблицы используемых языков"

 

LangAdrTable adr="адрес таблицы с адресами таблиц языковых блоков" countadr="Адрес по которому записано количество индексов" default="количество индексов"

 

LangAdrTableS adr="адрес таблицы с адресами таблиц языковых блоков для софт клавиш" countadr="Адрес по которому записано количество индексов для софт клавиш" default="количество индексов"

 

MCCTable adr="адрес таблицы адресов функций и адресов имён МСС команд"

 

MCCParam Len="длина в байтах МСС команды" count="количество параметров" adr1="смещение от начала команды" len1="длина в байтах параметра" adr2="...

 

AddFiles Start="адрес загрузки файла" Name="имя файла без пути" (возможно пока не работает) для прошивок из наскольких файлов (например S500)

 

LoadSym Name="полный путь к файлу с описанием адресов (*.bsig,*.sym,*.map,*.sig,*.def,*.out)" question="Y" ; Y - загружать без вопросов, иначе сросить

 

LoadMenu Name="полный путь к файлу с оисанием меню (*.mnu)" question="Y" ; Y - загружать без вопросов, иначе сросить

 

MCCKeys id="номер кноки" name="название кнопки"

 

MCCKey id="MCC_REPORT_MORE" coment="Большой отчет ""$$3$""" index="%%i%+1"

; id - строковый идентификатор

; coment - строка описания может содержать ключи типа &&6&, где && - начальная метка,

; 6 - номер параметра МСС команда или переменная i

; & - завершающая метка

; ключи %% - числовое значение параметра

; ## - тоже самое в Неx формате

; ^^ - тоже самое в Неx формате с приставкой 0x

; && - строка по адресу из параметра

; &K - описание кноки по номеру из MCCKeys

; $$ - текстовый ресурс из прошивки по индексу в параметре

;

; index - опереции над переменной i. понимает ключи с префиксом %, арифметические действия и условный оператор C ?:

; также операция до запятой выполняется до обработки коментария, после соответственно после, например

; %%3% - %%i% ? %%i% + 1 : %%4%, %%i%+2 - будет делать следующее:

; если третий параметр параметр больше i, то i=i+1 до обработки коментария, иначе i= четвёртому параметру до обработки коментария и i=i+2 после

; начиная с версии 2006.03.05 появилась возможность в id указывать не только имя MCC, но и параметры, напримет

; id="MCC_IF09" - для выделения проверки нажатий кнопок в отдельную групу коментариев, проверяется до 4 параметра

 

; - это коментарии (строки игнорируются)

 

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

RAM_Area Start="0x30800000" Len="0x800000"; как я понял оперативная память ? но для чего точные данные про длину и откуда они?

BinEdit сам вычисляет начало оперативной памяти и длину. Скорее всего - это просто для пользователя сделано. Ну или для корректной работы BE с оперативкой.

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

Интересуют следующие вопросы

1)Как в бинедите найти адрес картинки иль иконки.Нужна иконка джава

2)Для чего в патчах дайется адрес ,но идет переход на свободное место

3)Можеть бить такое чтобы в патчах адрес свободного мется указывался на свободное место.Если да то для чего?

4)Почему в некоторых патчах from= и to= имеют очень много циферок и букв .Тоисть 1F001F001F001F00.....и переход на 180901000D00000000B4D22...Причем циферки в значении "то" разные.Как узнать что в них зашыфровано?Для чего вообще делаются такое длиное значение.?Не проще первые 8 цыферок поставить?

4)1F001- ето свободное место верно? 1FF81 - означает что ето картинка?

Также заметил что

<nord offset="0x72CFB7" from="2E7070740070707400" to="2E6A6172006A617200" />

<nord offset="0x1495BE3" from="2E7070740070707400" to="2E6A6172006A617200" />

Адреса то разние ,но from= и to=" одинаковы.Как ето обяснить?

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

Интересуют следующие вопросы

1)Как в бинедите найти адрес картинки иль иконки.Нужна иконка джава

Проще всего - просканировать всю прошивку на вкладке Графика) потому что если искать именно кодом - это сложно,долго и мутерно. И не факт, что найдешь.

2)Для чего в патчах дайется адрес ,но идет переход на свободное место

Честно говоря - не понял. Нужен конкретный пример.

3)Можеть бить такое чтобы в патчах адрес свободного мется указывался на свободное место.Если да то для чего?

эээ...см пункт 2.

4)Почему в некоторых патчах from= и to= имеют очень много циферок и букв .Тоисть 1F001F001F001F00.....и переход на 180901000D00000000B4D22...Причем циферки в значении "то" разные.Как узнать что в них зашыфровано?Для чего вообще делаются такое длиное значение.?Не проще первые 8 цыферок поставить?

Длинное - ты имеешь ввиду 16 байт или в смысле очень длинные блоки from= и to=?

Можно записать и только 8 байт - но компилятор создает по 16 байт, чтобы было равновесно все. Он же не понимает, что от него требуется - создать 1 скрипт или это блок скриптов и т.д.

Как узнать, что в них зашифровано - ты имеешь ввиду диззассемблировать. Открывай в редакторе патчей и смотри на вкладке КОД. Или же альтернатива - применяешь патч в редакторе патчей, переходишь по нужному адресу в прошивке и смотришь.

4)1F001- ето свободное место верно? 1FF81 - означает что ето картинка?

Понятия - свободное меесто - как такое не существует. Картинку и можно считать за свободное место. Какие байты будут означать, что эт окартинка - нет четкого описания, здесь каждый байт отвечает за цвет пикселя, поэтому в если цвет картинки будет черный, т обудет 00000000, если белый - то FFFFFFFF, а если другие - то там вообще будут разные, типа 1A0F8B0A - и это тоже может быть картинкой.

Также заметил что

<nord offset="0x72CFB7" from="2E7070740070707400" to="2E6A6172006A617200" />

<nord offset="0x1495BE3" from="2E7070740070707400" to="2E6A6172006A617200" />

Адреса то разние ,но from= и to=" одинаковы.Как ето обяснить?

Просто одни и те же данные лежат на разных местах в прошивке. Такое часто случается.

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

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

Дароф парни. Хошу научится писать патчи! Мож кто может поделится инфой, иль готов сам научить?

Счастливый обладатель лицензионной Windows 7

Для друзей просто ' Паня '

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

Дароф парни. Хошу научится писать патчи! Мож кто может поделится инфой, иль готов сам научить?

Какой тут инфой делиться можно?

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

Сложность программы растет до тех пор, пока не превысит способности программиста!!!
Ссылка на комментарий
Поделиться на другие сайты

Что-то намудрили в новых телефонах с явой... не могу сделать элементарный казалось бы патч "Убрать все запросы в Java":

 

Снял адрес окна с помощью CGSN, имеем такое:

20361518  51 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

20361528  15 1A 6600 0000 0000 00000000 0000 0000  Выполнить 0x1A x2=102 x3=0 x4=0 x5=0 x6=0

20361538  13 1A 0A00 0000 0000 00000000 0000 0000  MCC_BS

20361548  40 00 0100 0603 0000 00000000 0000 0000  MCC_SET_CONFIRM

20361558  16 1A 4A00 0600 0000 18123021 0000 0000  Если x1=26 x2=74 x3=6 то переход на 0x21301218

20361568  16 08 0100 0E00 0000 5CF2C021 0000 0000  Если кнопка "левая софт" в состояни 1 то переход на 0x21C0F25C

20361578  17 08 0100 0D00 0000 5CF2C021 0000 0000  Или если кнопка "i/ok" в состояни 1 то переход на 0x21C0F25C

20361588  1A 00 0000 0000 0000 5073DA20 0000 0000  Переход на адрес 0x20DA7350

 

Нашол все адреса перехода сюда, этот адрес один:

208EE258  14 1A 0100 0000 0000 00000000 0000 0000  MCC_IP

208EE268  16 1A 6900 0100 0000 18153620 0000 0000  Если x1=26 x2=105 x3=1 то переход на 0x20361518

208EE278  13 1A 0A00 0000 0000 00000000 0000 0000  MCC_BS

208EE288  31 00 0000 0000 0000 00000000 0000 0000  Завершение МСС скрипта

 

Казалось бы, все просто и элементарно, пишу такое:

.start 0x208EE268+8

.word 0x21C0F25C

 

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

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

думаю, какой-то подвох, открываю прошивку G600, смотрю аналогичный патч:

210E850C  16 16 0000 0000 0000 00000000 0000 0000  MCC_IP

210E851C  18 16 1700 0100 0100 843CCE20 0000 0000  Если x1=22 x2=23 x3=1 то переход на 0x20CE3C84

210E852C  18 16 1700 0500 0100 1C840E21 0000 0000  Если x1=22 x2=23 x3=5 то переход на 0x210E841C

210E853C  19 16 1700 0200 0100 78628420 0000 0000  Или если x1=22 x2=23 x3=2 то переход на 0x20846278

210E854C  19 16 1700 0300 0100 F8628420 0000 0000  Или если x1=22 x2=23 x3=3 то переход на 0x208462F8

210E855C  37 00 0000 0000 0000 00000000 0000 0000  возврат из подпрограммы

 

20CE3C84  5C 00 0000 0000 0000 00000000 0000 0000  Подготовка окна

20CE3C94  17 16 1300 0000 0000 00000000 0000 0000  Выполнить 0x16 x2=19 x3=0 x4=0 x5=0 x6=0

20CE3CA4  4A 00 0100 0203 0000 00000000 0000 0000  MCC_SET_CONFIRM

20CE3CB4  18 09 0100 0E00 0100 CCCA5C21 0000 0000  Если кнопка "левая софт" в состояни 1 то переход на 0x215CCACC

20CE3CC4  19 09 0100 0D00 0100 CCCA5C21 0000 0000  Или если кнопка "i/ok" в состояни 1 то переход на 0x215CCACC

20CE3CD4  19 09 0100 0900 0000 2CCB5C21 0000 0000  Или если кнопка "вкл/выкл" в состояни 1 то переход на 0x215CCB2C

20CE3CE4  19 09 0100 0F00 0000 2CCB5C21 0000 0000  Или если кнопка "правая софт" в состояни 1 то переход на 0x215CCB2C

20CE3CF4  19 09 0100 0200 0000 2CCB5C21 0000 0000  Или если кнопка "С кратко" в состояни 1 то переход на 0x215CCB2C

20CE3D04  37 00 0000 0000 0000 00000000 0000 0000  возврат из подпрограммы

 

 

т.е. сделано именно так, как делал я... просто вместо вывода окна переход на то место, куда раньше переходили только после нажатия "Да"

 

Как видно, а прошивках даже разные скрипты... открыл прошивку D780 - там все абсолютно так же, как и в G600

А вот в новых моделях (смотрел еще B5702) именно так, как у меня и патч соответственно не работает...

 

Подскажите, в чем может быть дело...

 

И еще, что делают все эти MCC_IP, MCC_BS, MCC_BSRP и другие?

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

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

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

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

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

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

Войти

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

Войти



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