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

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

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

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


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

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

 

Куда эти команды

AT+CGSN - возвражает IMEI телефона

AT+CGSN? - возвращает название патча

....

 

вписывать-то?

 

Я запустил в BinEdit подключение к телефону, там убрал галку "Проверять наличие патча".

Потом выбрал скорость 115200, применил.

Внизу появилось, что SAMSUNG D-500 подключен.

 

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

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

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

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

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

Куда эти команды

AT+CGSN - возвражает IMEI телефона

AT+CGSN? - возвращает название патча

вкладка Терминал,в верхнем окне вводишь AT+CGSN,кнопка передать-в нижнем(большом) окне получаешь IMEI :67:

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

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

А в терминале можешь давать любые AT команды? которые поддерживает телефон.

Одна из последних версий binedit здесь.

AlexeyK.gif

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

Народ подскажите какая функция в Swift (у меня D820) отвечает за вывод текста на рабочий стол..

Хочу вывести свою строку...

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

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

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

Подскажите, в какой переменной хранится настройка анимированного сообщения (Вкл/Выкл)?

Работай, как будто тебе не надо денег,

Люби, как будто тебе никто никогда не причинял боль,

Танцуй, как будто никто не смотрит,

Пой, как будто никто не слышит,

Живи, как будто на земле рай.

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

dimastyj,

на D900 и D900i есть такие анимированные сообщения, это когда текст в смсках плавно появляется на экране.

вот эту функцию можно отключить в настройках, т.е. наверное есть какая-то переменная, в которую записывается 1 или 0

Работай, как будто тебе не надо денег,

Люби, как будто тебе никто никогда не причинял боль,

Танцуй, как будто никто не смотрит,

Пой, как будто никто не слышит,

Живи, как будто на земле рай.

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

KR-Electronics,

понял. У меня на e200 вроде нет такого. Ну так если можно отключить в настройках, так и проследи в какую переменную сохраняется значение :67:

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

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

 

А если например эта функция вывода текста на экран, то чтобы её вывести, надо же координаты.

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

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

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

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

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

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

По большому счету - да!

 

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

Нет. По крайней мере обобщенных.

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

А может каждый будет писать по одной функции и ее приблизительные параметры, и назначение. Так общими навыками мы расширим круг любителей программировать :-) Для начало можно рассказать о функциях по работе со строками (strcopy strlen strpos и типо того) и с памятью (getmem putmem freemem) :jokingly:

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

А может каждый будет писать по одной функции и ее приблизительные параметры, и назначение. Так общими навыками мы расширим круг любителей программировать :59: Для начало можно рассказать о функциях по работе со строками (strcopy strlen strpos и типо того) и с памятью (getmem putmem freemem) :67:

Вот мой вклад в развитие программирования :jokingly:

 

strcpy * - Копирует строку Строка 1 в строку Строка2.

strlen * - Возвращает длину строки.

strcmp * - Сравнивает строки Строка1 и Строка2.

strchr * - Выполняет поиск символа в строке и возвращает указатель на первый найденный символ.

strcat * - Объединяет строки Строка1 и Строка2 и записывает результат в строку Строка1.

RtkGetMemory - Поучение свободной памяти.

__rt_memclr - Memory Clear (думаю, здесь все понятно :107:)

__rt_memcpy - копировать данные из любой области в память.

 

* Взято из документации по С++.

Чтобы определить параметры какой-нибудь ф-ции надо найти использование этой ф-ции в прошивке, и проследить за передаваемыми ей параметрами.

Но обычно, у многих ф-ций параметры такие: "куда, откуда, сколько" (r0, r1, r2, соответственно... для ф-ций strcpy, __rt_memcpy, например) или такие: "где, сколько" (r0, r1... например, ф-ция __rt_memclr).

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

Снова я лезу со своим патчем на D500 "Подсветка на I при заблокклаве"

 

Попробовал сделать исходник, скомпилировал, но всё осталось как было.

 

А вообще этот код может включить\выключить подсветку?

 

.binid D500XEEG3

.baseload 0x10000000

.little

 

.equ hen7_86SemCycMainlightFullOffTim 0x10BD650C

.equ hen7_85SemCycMainlightOffTim 0x1046154C

.equ v_dpc_BacklightOn 0x18CB2C9C

.equ gv_slide_down_flag 0x1898D9A4

 

.start 0x1083DB54 ; вклиниваюсь там, где сравниваеться, нажата ли кнопка гарнитуры

ldr r3,=SeeKey+1 ; делаю переход на свой код

bx r3

.data

 

.start 0x107185D0

SeeKey:

cmp r0,0xD ; сравниваю, а нажата ли кнопочка I

beq Next ; если да, то идём на нужный код

cmp r0,0x11 ; теперь восстанавливаю то, что затёр...

bne Exit ;...

LDR R0, =gv_slide_down_flag ;...

ADD R0, #0x5A ;...

LDRB R0, [R0, #0x7] ;... восстановил и далее возвращаюсь на код после врезки

ldr r3, =1083DB5E+1

bx r3

Exit:

ldr r3, =0x1083DB92+1 ; этот код я тоже затёр, сюда переходит если r0 не равно 0x11

bx r3

Next:

push r0-r7 ; сохраняем в стек регистры

ldr r1,=v_dpc_BacklightOn

ldr r2,r1 ; помещаем в r2 данные о сотоянии подсветки

cmp r2,0 ; если выключена, то переход на LightOn

beq LightOn

bl hen7_86SemCycMainlightFullOffTim ; а иначе выключаем и возвращаемся на место врезки

b ext

LightOn:

bl hen7_85SemCycMainlightOffTim ; врубить подсветку

ext:

pop r0-r7

ldr r0,=0x1083DB54+1

bx r0

.data

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

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

Хм..может я и не прав

 

Вот тут ты возвращаешься на место после врезки

ldr r3, =1083DB5E+1

bx r3

 

а в конце

ldr r0,=0x1083DB54+1

bx r0

 

Хотя как я понимаю должен возвращаться на один и тот же адрес...

А так я понимаю получается зацикливание ((

 

Хотя может я и не прав

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

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

Извиняюсь что пишу новым сообщением... простите..

 

У меня вопрос... Как формировать меню со списком файлов с определенныйм расширением из опеределенной папки?

Как формировать обычное меню знаю... но вот со списком файловв траблы...

 

P.S. тело D820 - Swift

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

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

RusEm, скажу сразу это очень сложно...

Как в телефоне формируются подобные меню я пока особо не разбирал, но вот список файлов в папке, если я не ошибаюсь, формируется посредством MCC_TASK 0x21 (Case 0x00).

Зато сделать свое управление файлами разных типов одной в папке через меню телефона уже гораздо проще :)

 

Позитрон, а ты уверен, что здесь надо врезаться (0x1083DB54) ? Как это место определял?

Мне все же кажется, что врезаться надо здесь: 0x1083DB28...

Да и в самом коде ошибок многовато(

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

Позволю себе уточнить ответ одного уважаемого маэстро другому. :) ,Миха,Жека :)

посредством MCC_TASK 0x21 (Case 0x00).

посредством fbox0_5task...Например для E500 это MCC_TASK 0x22,а для D880-MCC_TASK 0x2A,хотя для основной массы свифтов,в том числе и D820, это действительно MCC_TASK 0x21

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

Позволю себе уточнить ответ одного уважаемого маэстро другому. :| ,Миха,Жека :bx:

 

посредством fbox0_5task...Например для E500 это MCC_TASK 0x22,а для D880-MCC_TASK 0x2A,хотя для основной массы свифтов,в том числе и D820, это действительно MCC_TASK 0x21

Спасибо за ответ тебе и Михаилу

Попробуем для начала повторить готовый список... )))

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

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

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

В Х100 я,в принципе,разобрался с этим,но с е200 напряги.Подскажите пожалуйста.

Объясните кто-нибудь пожалуйста на конкретном примере:

2017B8C0  47 41 0000 1800 F109 00000000 0000 0000  Сообщение "Карта памяти извлечена"

З.Ы:Прошивка E200XEGJ2.

Говорите что думаете и думайте что говорите...

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

47 41 0000 1800 F109 00000000 0000 0000

47 41 0000 1800 F109 00000000 0000 0000

47 - выводит само окошко сообщения

F109 - текстовый ресурс (09F1) "Карта памяти извлечена"

  • Like 1

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

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

Хм.. возник такой вопрос..никто не встречал в прошивке соответствие типа файла и в какую папку его качает стандартный браузер? хочу пару типов добавить ))

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

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

Вот тут ты возвращаешься на место после врезки

ldr r3, =1083DB5E+1

bx r3

 

а в конце

ldr r0,=0x1083DB54+1

bx r0

 

Хотя как я понимаю должен возвращаться на один и тот же адрес...

А так я понимаю получается зацикливание ((

 

 

Я из другого города пишу, на память не вспомню на какой код я возвраты делал

 

Но я делал так, что сначала обработается кнопка I, и если нажата то выполниться мой код, а затем возвращается в начало, потому что если кнопка не нажата, то надо чтобы обработалось CMP R0,0x11

Короче, в воскресение если домой заеду, напишу что и как.

 

 

 

Longhair, что за ошибки? Код скомпилировался нормально, без ошибок.

Или ты имеешь ввиду, что такой код не включит подсветку?

 

А вклинился я здесь 0x1083DB54, потому что же по этому адресу идёт обработка кнопки гарнитуры.

А я сделал, чтобы вместе с ней просматривалась, нажата ли I

Изменено пользователем Позитрон

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

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

RusEm, в прошивке есть такие таблицы:

Bt_DirExt_Type

ga_ExtensionTable

m4_gContentInfo

обращение к которым идет из тумбы.

А также ф-ции wap1...

Например, wap1_50MakeFilePath или wap1_56SaveChangeFileName.

В них думаю есть все эти соответствия.

 

Позитрон, а здесь 0x1083DB28 проверяется нажаты ли боковые кнопки. Чем этот вариант не устраивает?

Ты сначала просто проверь, в том ли месте делаешь врезку. Например:

.start 0x1083DB28
ldr r3,=SeeKey+1
bx r3

.start 0x107185D0
SeeKey:
...;восстанавливаешь затертый код
cmp r0,0xD
beq Next
ldr r1,=0x1083DB30+1
bx r1
Next:
MOV	R1, R4
LDR	R0, =запрос_разблокировки
BL	lk2_12start_menu_edit_fsm
ADD	SP, SP, #0x1C
POP	{R4-R7,PC}

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

Longhair, вот именно из-за этого ничего не получалось.

 

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

 

Я не знаю как на Х700, а на D500 подсветка врубается при удержании любой кнопки при заблокклаве.

 

Во-вторых, слишком запоздало ко мне пришло подозрение, что обработки боковушек там нет.

В итоге это подтвердил NeO_2kX.

 

В-третьих, я с этим делом даже Dimastyja напрягал, и где-то в этой теме в 5-ти последних страницах он тоже подтверждает, что код для обработки боковых клавиш там "для другого режима".

 

 

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

 

В итоге получается, что там цикл? Прогоняется обработка всех клавиш, потом идёт дальше выполнение кода.

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

 

Правда теперь меня смущает, то место которое я нашёл - а гарнитура ли там обрабатывается или нет...

 

 

 

И ещё теперь вопросы, в том коде, который ты представил...

 

1) Зачем вот это делать MOV R1, R4

 

Вот это если я правильно понял - ADD SP, SP, #0x1C - в регистре SP выделяется дополнительно 1C байт

 

2) Почему восстанавливаются регистры из стека POP {R4-R7,PC}, если до этого они нигде в стек не сохранялись?

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

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

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

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

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

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

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

Войти

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

Войти



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