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

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

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

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


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

Не за что! :59: Только я не понял, ты спрашиваешь как найти пункт Меню-9-1 Время и дата?

Да, именно его. А то я вон какую схему поиска сделал.:) Просто на будущее хочу знать.

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

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

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

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

F3n1X,

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

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

Это снова я, снова портирую и снова вопросы.:132:

Решился я тут портировать Мастер-патч, а потом уж и Авто-Блютуз (больно мне понравилось с автоматом и ручным вкл/выкл), но не могу найти следующее:

18FC0000 и 1800CA18 - эквиваленты этих адресов для своей прошивки (E730XEEH1)

gv_IsCameraPreview - адрес для него (в sym файле у себя не нашёл, а в Х700 он есть зараза)

RtkGetMemory - при установке патча в прошивку для Х700 ему соответствует этот код 4EF46FF8, мне нужен эквивалент кода для своей прошивки

RtkReleaseMemory - этот 4EF455F8, также нужен эквивалент кода.

Или подскажите как их найти.

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

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

18FC0000

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

 

1800CA18

Тут лежит адрес папки в которой будет файл.

 

gv_IsCameraPreview - адрес для него (в sym файле у себя не нашёл, а в Х700 он есть зараза)

Хм, такую переменную я вообще не использовал :)

 

RtkGetMemory - при установке патча в прошивку для Х700 ему соответствует этот код 4EF46FF8, мне нужен эквивалент кода для своей прошивки

RtkReleaseMemory - этот 4EF455F8, также нужен эквивалент кода.

Или подскажите как их найти.

Тут ты что то путаешь... Это не могут быть адреса функций.

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

Хм, такую переменную я вообще не использовал :blev:

У меня при открытии sym файла для Х700 пишется в коде это:

6CB73418 DCD gv_IsCameraPreview ;(0x1834B76C) ;Данные для команды по адресу...

Если ты не использовал эту переменную, то для чего этот адрес 0x1834B76C?

 

Тут ты что то путаешь... Это не могут быть адреса функций.

Опять же при открытии sym файла в коде пишется следующее:

4EF46FF8 BL RtkGetMemory ;Вызов \ адрес 0x104B2FEC

4EF455F8 BL RtkReleaseMemory ;Вызов \ адрес 0x104B2FF4

Вот я и спрашивал насчёт 4EF46FF8 и 4EF455F8 для этих функций. Так как мне их получить, если в моей прошивке RtkGetMemory - 0х10D52FC0, а RtkReleaseMemory - 0х10D52FC8?

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

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

всем здраствуйте.Выложитекто нибудь инструкцию по портировнию патчей.Хочу портировать птч с D500 на D900.Очень надо....Заранее спасибо

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

Опять же при открытии sym файла в коде пишется следующее:

4EF46FF8 BL RtkGetMemory ;Вызов \ адрес 0x104B2FEC

4EF455F8 BL RtkReleaseMemory ;Вызов \ адрес 0x104B2FF4

Вот я и спрашивал насчёт 4EF46FF8 и 4EF455F8 для этих функций. Так как мне их получить, если в моей прошивке RtkGetMemory - 0х10D52FC0, а RtkReleaseMemory - 0х10D52FC8?

Ааа, ну конечно, тебе получить код для своих адресов очень просто: поменяй в компиляторе их, и код сам сгенерируется :)

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

dimastyj,

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

Я в принципе предполагал, что так. :|

 

По поводу этого:

6CB73418 DCD gv_IsCameraPreview ;(0x1834B76C) ;Данные для команды по адресу...

Если ты не использовал эту переменную, то для чего этот адрес 0x1834B76C?

Вопрос остаётся.

 

Для некоторых адресов я всё равно не могу найти эквиваленты :D.

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

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

F3n1X,

я не говорил что я не использовал эту переменную, просто sym на x700 неоригинальный и с ошибками, на самом деле эта переменная называется gs_DspMenu

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

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

F3n1X,

я не говорил что я не использовал эту переменную, просто sym на x700 неоригинальный и с ошибками, на самом деле эта переменная называется gs_DspMenu

И как обычно у меня в sym файле её тоже нет.

 

 

Портирую на своё тело патч Replace from SMS_v3 снова от Х700 :) . Так вот в коде происходит замена ссылки текстового ресурса Только отправить на ссылку текст. ресурса Сохранить и отправить. У меня вопрос для чего это делается (замена ссылок)? И как мне найти для моей пршивки адрес, где нужно заменить эту ссылку?

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

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

И как обычно у меня в sym файле её тоже нет.

Спешу тебя огорчить, в имеющихся в нашем распоряжении sym файлах много чего нет :)

 

Приходиться все ручками искать...

 

Для e730xeeh1 gs_DspMenu - 0x189A367C

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

Ребята,дайте инфу по портированию,кроме шуток,как,чем,фсе же начинали с 0 когдато

x700+Nokia 6270+N70 + N73+Canon PS A560+Sony Ericsson Elm J10i2

Cyclone Box + UFS & HWK + MX Key

Нормальные с нормальными - остальные с остальными!!! Отпускай хлеб твой по водам, потому что по прошествии многих дней опять найдешь его(Екклесиаст 11:1) Все и всегда не бывает никогда.

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

Для e730xeeh1 gs_DspMenu - 0x189A367C

Спасибо :) .У меня по этому адресу находилась v_DefaultDispText.

 

Можешь проверить правильно ли я нашёл адрес(0x1800941C) для папки user.

 

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

Хоть приблизительно можешь сказать где это место искать и как?

 

Не могу ещё найти переходы с сохранением адреса возврата :) . Например для Х700 такие _off_100F7910, _off_112E4338, _off_100F7AF8, _off_1175BD0C, _off_112E4338, _off_100F7910.

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

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

Можешь проверить правильно ли я нашёл адрес(0x1800941C) для папки user.

Правильно.

 

Хоть приблизительно можешь сказать где это место искать и как?

Приблизительно, ближе к концу оперативки... :)

 

Не могу ещё найти переходы с сохранением адреса возврата :( . Например для Х700 такие _off_100F7910, _off_112E4338, _off_100F7AF8, _off_1175BD0C, _off_112E4338, _off_100F7910.

Это функции для работы с файлами, в x700 и e730 они сильно различаются.

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

dimastyj,

Это функции для работы с файлами, в x700 и e730 они сильно различаются.

Я так понимаю и названия этих функций тоже различаются?

Приблизительно, ближе к концу оперативки...

С какого адреса начинается оперативка в Х700 и соответственно какое название?

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

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

dimastyj,

 

Я так понимаю и названия этих функций тоже различаются?

Нет, названия полностью идентичны.

 

С какого адреса начинается оперативка в Х700 и соответственно какое название?

Ну возьми где нибудь в районе 0x18FCF000

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

Нет, названия полностью идентичны.

Можно их узнать? :laugh3:

 

Ну возьми где нибудь в районе 0x18FCF000

По этому адресу возможно посмотреть код? Если да, то как? :132:

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

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

F3n1X,

вот операции работы с папками/файлами в х100.

 

@FFS
.equ ffsOpenDir					0x002C1298			@
.equ ffsReadDir					0x002C1370			 @ Dir
.equ ffsCloseDir				0x002C14A4			 @ Func
.equ ffsGetNumOfFiles 			0x002C3604			@
.equ ffsGetFileSize				0x002C1044

.equ ffsOpenFile				0x002C0374; (int* handle, char* filename, mode):(int)
.equ ffsReadFile				0x002C0684; (int handle, void* buf, bytestoread, bytesread*):(int)
.equ ffsCloseFile				0x002C060C; (int handle)
.equ ffsCreateFile				0x002C0418; (int* handle, char* filename, mode(8)):(int)
.equ ffsWriteFile				0x002C0820 ; (int handle,  void* bufToread, int bytesToRead):(bool)

 

Думаю, что названия схожи :laugh3:, да и параметры тоже

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

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

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

 

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

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

Можно их узнать? :128:

Оригинальные:

 

mmitfs4_CheckFileExist

mmitfs4_ReadFile

mmitfs4_DeleteFile

mmitfs4_CreateFile

 

По этому адресу возможно посмотреть код? Если да, то как? :)

Можно. Через отладчик, если для e730 есть такой патч, кажется нет... :evil:

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

Оригинальные:

 

mmitfs4_CheckFileExist

mmitfs4_ReadFile

mmitfs4_DeleteFile

mmitfs4_CreateFile

Спасибо :evil: У меня в sym они нашлись, искал в х700 - их там нет.

 

И ещё вот такой вопрос:

Компилирую следующий код:

.start 0x0000AE7C
BLX	mmitfs4_CheckFileExist
.data

По адресу 0x0000AE7C он мне пишет:

BLX	off_0000AF40

Что свидетельствует переходу на адрес 0х0000AF40, с которого начинается:

PUSH	{R0,R1}
LDR	R0, =mmitfs4_CheckFileExist
STR	R0, [SP, #0x4]
POP	{R0,PC}
DCD	mmitfs4_CheckFileExist

 

По идее по адресу 0x0000AE7C должен быть переход сразу же на адрес функции mmitfs4_CheckFileExist .

Правильно ли я написал код компиляции для mmitfs4_CheckFileExist ?

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

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

PUSH {R0,R1}

LDR R0, =mmitfs4_CheckFileExist

STR R0, [sP, #0x4]

POP {R0,PC}

 

длинный переход, когда БЛ не хватает.

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

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

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

 

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

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

длинный переход, когда БЛ не хватает

Значит так тоже правильно и можно оставлять?

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

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

Значит так тоже правильно и можно оставлять?

Естественно.

Присмотрись... Во многих патчах используется такая конструкция.

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

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

Естественно.

Присмотрись... Во многих патчах используется такая конструкция.

Спасибо. Теперь буду знать :shum_pila:

 

Но вот ещё такой вопрос:

В коде имеется такая строка

BL	RtkReleaseMemory

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

BLX	_off_00000000

.

 

А при компиляции такого кода

.start 0x0000AEE6
BL	RtkReleaseMemory
.data

Получается длинный переход.

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

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

И ещё вот такой вопрос:

Компилирую следующий код:

.start 0x0000AE7C
BLX	mmitfs4_CheckFileExist
.data

По адресу 0x0000AE7C он мне пишет:

BLX	off_0000AF40

Что свидетельствует переходу на адрес 0х0000AF40, с которого начинается:

PUSH	{R0,R1}
LDR	R0, =mmitfs4_CheckFileExist
STR	R0, [SP, #0x4]
POP	{R0,PC}
DCD	mmitfs4_CheckFileExist

 

По идее по адресу 0x0000AE7C должен быть переход сразу же на адрес функции mmitfs4_CheckFileExist .

Правильно ли я написал код компиляции для mmitfs4_CheckFileExist ?

 

Значит так тоже правильно и можно оставлять?

;) Нет, не правильно! :!:

 

Объясню почему, ты пишешь BLX mmitfs4_CheckFileExist, т.е. указываешь процессору при переходе на mmitfs4_CheckFileExist переключится в ARM-режим, переходит на:

 

PUSH	{R0,R1}
LDR	R0, =mmitfs4_CheckFileExist
STR	R0, [SP, #0x4]
POP	{R0,PC}
DCD	mmitfs4_CheckFileExist

что и близко ARM не пахнет, так что на этом тел зависнет.

 

Есть много способов организовать дальний переход, например, если ты видишь, что bl ты не достанешь, можно написать так:

 

...
blx j_mmitfs4_CheckFileExist
...
j_mmitfs4_CheckFileExist: blxx mmitfs4_CheckFileExist+1

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

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

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

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

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

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

Войти

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

Войти



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