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

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

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

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


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

VitaliyDV,

эта mcc вызывает на исполнение thumb код, вот в нем как раз и описываются пункты меню.

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

  • Ответов 947
  • Создана
  • Последний ответ

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

Ладно попробую ещё поколупаться.

а здесь никого нет из владельцев свивт моделей?

как вы делаете меню?

 

что значат вот эти команды?

 

Если x1=26 x2=18 x3=1 то переход на 0x10E43CF0

Если x1=26 x2=18 x3=1 то переход на 0x10612968

Если x1=26 x2=18 x3=10 то переход на 0x10E43CF0

Если x1=26 x2=18 x3=10 то переход на 0x10754A88

Или если x1=26 x2=18 x3=10 то переход на 0x105E8108

при переходе по этим адресам вижу подобные же команды :)

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

Ладно попробую ещё поколупаться.

а здесь никого нет из владельцев свивт моделей?

Ну как же. Есть конечно! )

 

что значат вот эти команды?

 

Если x1=26 x2=18 x3=1 то переход на 0x10E43CF0

Если x1=26 x2=18 x3=1 то переход на 0x10612968

Если x1=26 x2=18 x3=10 то переход на 0x10E43CF0

Если x1=26 x2=18 x3=10 то переход на 0x10754A88

Или если x1=26 x2=18 x3=10 то переход на 0x105E8108

при переходе по этим адресам вижу подобные же команды :shock:

Это инструкции типа if и else if, условные переходы.

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

Нужно ковырять вот эту мсс 7C 1B 1C00 0500 0500 00000000 0000 0000 Меню 0x1B из 5 пунктов (mcc_menu_config 0х1B)

После небольшого ковыряния выяснил что 1В -это меню(оформление т.е. картинки совт,шрифты,и т.д.)

но в этой конфигурации есть подпункты которые обозначаються: 1С00 (там и есть текст)

вся сложность в том чтоб найти эти подпункты.

 

P.S. Смотрел вкладку с описанием ммс (справа в бин эдите) а есть ли прога более "понятная"(в смысле с большим описанием) или бин эдит самая совершенная?

 

P.S.S. я понимаю что моё "открытие" не для кого не секрет. :)

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

VitaliyDV, описания МСС для свифтов я не видел, для сисолов делали базу. Можешь быть первым 8), а вообще скоро приноровишься разбираться с МСС, тут надо просто опыт и практику :). Лучше бинэдита вряд ли что есть. Можно ИДой пробовать еще.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

Значит имеется такой код:

10DFDDA2:	LDR	R0, =0x114A0291
10DFDDA4:	BX	R0	
10DFDDA6:	LSL	R0, R0, #0	
10DFDDA8:	DCD	0x114A0291

	off_114A0268
114A0268:	PUSH	{R1-R7,LR}
114A026A:	POP	{R1-R7,PC}	
114A026C:	PUSH	{R4-R7,LR}
114A026E:	SUB	SP, SP, #0x9C
114A0270:	MOV	R7, R0	
114A0272:	LDRH	R0, [R7, #2]	
114A0274:	ADR	R1, =0x114A0280
114A0276:	LSL	R0, R0, #2	
114A0278:	ADD	R0, R0, R1	
114A027A:	LDR 	R0, [R0]	
114A027C:	BX	R0	
114A027E:	LSL	R0, R0, #0	
114A0280:	DCD	0x00000000	
114A0284:	DCD	0x00000000
114A0288:	DCD	0x114A05C5
114A028C:	DCD	0x00000000

114A0290:	LDRH	R0, [R4, #4]	
114A0292:	ADR	R1, =0x114A02AC
114A0294:	LSL	R0, R0, #2	
114A0296:	ADD	R0, R0, R1	
114A0298:	LDR 	R0, [R0]	
114A029A:	LDR	R7, =0x18DA9C44	
114A029C:	LDR	R6, =0x18B0FDF0
114A029E:	BX	R0
114A02A0:	LSL	R0, R0, #0	
114A02A2:	LSL	R0, R0, #0	
114A02A4:	DCD	0x18DA9C44	
114A02A8:	DCD	0x18B0FDF0	
114A02AC:	DCD	0x00000000	
114A02B0:	DCD	0x00000000	
114A02B4:	DCD	0x114A02CD
114A02B8:	DCD	0x00000000
114A02BC:	DCD	0x114A083D	
114A02C0:	DCD	0x00000000	
114A02C4:	DCD	0x00000000	
114A02C8:	DCD	0x00000000

 

1) Меня интересует, имеет ли какое отношение строки по адресу 0х114A0268 и 0х114A026A к таблице по адресу 0х114A026C?

2) Является ли код, начинающийся с адреса 0х114A0290 продолжением верхнего (в данном примере это таблица конфига), т.е. зависит ли он от таблицы конфига?

3) Что означает у конфига параметр, выделенный жирным 84130200000013000000000000000000?

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

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

F3n1X,

я же тебе объяснял :)

 

1) отношение никакого не имеет, эти два оператора подряд, в принципе, представляют собой бессмысленную конструкцию;

2) нет, не является;

3) здесь какой то индивидуальный параметр, используемый автором в каких то целях.

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

Так и пишешь в компиляторе:

 

   ldr r0,=0x9A8A
.data

Не пишеться ;)

почему-то межно изменять только НЕХ.

а не сами команды.

Почему?(может какие настройки надо сделать?)

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

 

P.S.и если исправить НЕХ,то команды не меняються. неудобно.

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

VitaliyDV, а ты работай в компиляторе, а то я так понимаю, что ты просто в главном окне хекс правишь.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

VitaliyDV, а ты работай в компиляторе, а то я так понимаю, что ты просто в главном окне хекс правишь.

нет я работаю во вкладке "код"(т.е. в компиляторе)

там несколько столбцов:

адрес,НЕХ-код,и сами команды.

дык вот НЕХ значение команды меняеться,а сама команда не редактируеться,может в настройках чего не поставил?

хотя уже всё перерыл. ;)

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

нет я работаю во вкладке "код"(т.е. в компиляторе)

Это декомпилятор ;)

А компилятор находится в "Инструменты -> Компилятор"

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

VitaliyDV,

дык вот НЕХ значение команды меняеться,а сама команда не редактируеться,может в настройках чего не поставил?

хотя уже всё перерыл

;), vvyura прав, это декомпилятор. В нём можно поменять хексовое значение - тогда и код поменяется.

К примеру, значения 2002 в хексе обозначает mov R2,2.

Но для написания патчей пользуйся компилятором.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

блин а я все выходные мучился ;)

не подскажите в каких ммс происходит обращение к тфс,а конкретнее прорисовка картинки из тфс?

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

смотрел ммс конфиги меню (не нашёл)

Dimy4

подробно написал на предыдущеё странице,но хотелось бы посмотреть как реализовано непосредственно в телефоне.

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

VitaliyDV, нет отдельных МСС для такого дела, есть отдельные ф-ции, которые написаны на предыдущей странице.

 

но хотелось бы посмотреть как реализовано непосредственно в телефоне

Тут я не понял вопроса ;)

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

VitaliyDV, нет отдельных МСС для такого дела, есть отдельные ф-ции, которые написаны на предыдущей странице.

Тут я не понял вопроса :(

да дествительно глупо задал вопрос ;)

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

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

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

Нет конечно, телефонный асм - это отдельная история.

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

Нет конечно, телефонный асм - это отдельная история.

я его и имел ввиду :bx:

у меня опять несколько вопросов :nosilki:

вот пишу я команду BL т.е.переход но как указать куда переходить

(просто хочу врезаться в одно место ,но как исправить переход?)

 

 

в теле есть меню типа Ох27(это где иконки 3х3) но ммс_меню_конфиг от 00 до 26

как найти эту самую 27 модификацию меню? :roll:

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

вот пишу я команду BL т.е.переход но как указать куда переходить

Примеры тебе дам :nosilki:

 

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

код чего-то там

. . .

. . .

BL 0xадресс куда хочешь перейти

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

 

Или другой вариант.

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

.equ Patchbody 0xadr1 //эта констукция означает, что ИмяМетки = адресс

.equ NativeCode 0xadr2

 

.org NativeCode //Указываем смещение, с которого код начинается

//Например надо поправить что-то в готовом коде

mov R2,2

BL PatchBody

 

.org PatchBody

//тело патча

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

 

Понимаешь?

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

cr_az2,

примерно понял,

вечером подробнее посмотрю :44:

я так понял что твой второй пример можно исп. так:

выбрал место,

.equ Patchbody 0xadr1 //эта констукция означает, что ИмяМетки = адресс 
.equ NativeCode 0xadr2

написал куда поместить патч

org NativeCode //Указываем смещение, с которого код начинается
//Например надо поправить что-то в готовом коде
mov R2,2
BL PatchBody

и всё.

 

т.е. не надо перебивать НЕХ код со включённым автопатчем! :59:

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

VitaliyDV,

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

 

Пишешь патч и нашел ты место под него.

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

 

Если ты знаком ты с Си, то думаю заметил, что конструкция

 

.equ Метка адресс

аналогична

#define Mark adr

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

Есть ли зависимость при создании меню mcc_menu_config`a от других mcc или ещё от чего?

Например:

841F 0100030005000000000000000000 - mcc_menu_config

7E1F 0100010006020000000010000000 - mcc_display_menu

Код взят из патча...

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

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

Есть ли зависимость при создании меню mcc_menu_config`a от других mcc или ещё от чего?

Например:

841F 0100030005000000000000000000 - mcc_menu_config

7E1F 0100010006020000000010000000 - mcc_display_menu

Код взят из патча...

осмелюсь предположить что 1F это конкретная модификация конфига

например Ох0А(например)

01 это скорее всего какието ресурсы (например текстовые)

они одинаковые т.к. первая-описывает меню,вторая-выводит на экран.

 

P.S. это только мои домыслы.

большая просьба подтвердить или опровергнуть дабы не даваль ложных советов.

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

VitaliyDV,

Я уже разобрался :)

осмелюсь предположить что 1F это конкретная модификация конфига

например Ох0А(например)

Ага, в данном случае забивалась пустая ячейка в таблице конфига.

01 это скорее всего какието ресурсы

Угу:idea: В данном случае бралась первая ячейка из новой таблици конфига.

 

они одинаковые т.к. первая-описывает меню,вторая-выводит на экран.

Совершенно согласен. Посмотрев реализацию нескольких меню в прошивки, убедился, что это действительно так :ak: Но, в одном патче это почему-то не так...

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

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

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

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

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

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

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

Войти

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

Войти



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