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

Позитрон

Участники
  • Постов

    71
  • Зарегистрирован

  • Посещение

Весь контент Позитрон

  1. Подскажите пожалуйста, как сделать в коде принудительную задержку на определённое количество секунд? Проблема в том, что с помощью патча DebugTool я просматриваю состояние регистров на своём D500, но картинка со значениями возникает и тут же исчезает. Как сделать, чтобы удерживалось на экране пару секунд? Есть ли для этого специальная функция? И ещё, на сколько происходит задержка от одной команды NOP ?
  2. Ещё патчик, для себя сделал. Я левша, телефон в левой руке, и удобно нажимать на кнопку "Боковая фото". После применения патча в большинстве меню теперь можно переходить дальше как кнопкой "Левая_софт", так и "Боковая_фото". Может возникнуть вопрос, а почему не вообще во всех меню я активировал эту кнопку? Потому что у кого-то стоит патч "Черный список" или там "Отключение подсветки клавы из телефона", а у кого-то нет. Эти патчи добавляют новые пункты меню и у одних эти меню по одному адресу, у других по другому... Вот патч Navigator_for_left_hand_people.rar
  3. Терпеть не могу эту долгую вибрацию при включении режима без звука. Да и окна, которые оповещают, что вы включили или выключили режим без звука долго на экране висят. Патч на полное убирание этих окон меня не устраивал, потому что там вибро вообще никакой кнопкой не уберёшь, ждать надо пока закончится. Поэтому вот что я накарябал: После применения патча время отображения окон оповещения о вкл\выкл режима без звука уменьшается в 2 раза. И в 5 раз сокращается длительность вибро при активации режима без звука. Раньше было долгое "вжииииииииииззззззззз", а теперь будет кратко "бзык". Moderate_opovesheniya.rar
  4. Очень часто сижу в QIP через сотовый, но никогда не наблюдал нормального действия патча уважаемого Freeman, чтобы подсветка тухла вовремя. После применения патча во всех JAVA-приложениях (книги\калькуляторы\ICQ\...) подсветка будет тухнуть через столько секунд, сколько установленно в телефоне (т.е. 15 сек\30сек\...). И это не будет зависеть от того, открыт или закрыт слайдер. P.S. У меня сразу стоит и этот патч, и патч для подсветки в JAVA, который написал Freeman. AntiSvet_v_JAVA_v2.rar
  5. Mako, впринципе моих знаний хватит, чтобы добавить что-то прям в коде. Но вот конкретный пример. Есть прошивка D500XEEG3. По адресу 0x105F6230 есть меню из 3х пунктов. Это тест оборудования. Меню состоит из 3х пунктов. - Тест вибровызова - Настройки аудио - Заряд батареи Не знаю, есть ли у тебя прошивка, поэтому вот МСС этого меню 105F6230 5C 00 0000 0000 0000 00000000 0000 0000 Подготовка окна 105F6240 79 00 0000 0000 0000 00000000 0000 0000 MCC_SET_CURMENU 105F6250 76 00 000C 0141 0000 00000000 3000 0000 MCC_MENU_START 105F6260 7D 09 0200 0300 0100 00000000 0000 0000 Описание меню с первым индексом из 3 пунктов 105F6270 77 09 0200 0000 0E02 00000000 1000 0000 MCC_DISPLAY_MENU 105F6280 7A 00 0000 0000 0000 F4979210 0000 0000 По пункту меню 0 переход на адрес 0x109297F4 105F6290 7A 00 0100 0000 0000 B4989210 0000 0000 По пункту меню 1 переход на адрес 0x109298B4 105F62A0 7A 00 0200 0000 0000 249F1A10 0000 0000 По пункту меню 2 переход на адрес 0x101A9F24 105F62B0 18 09 0100 0200 0000 A4210C11 0000 0000 Если кнопка C в состоянии 1 то переход на0x110C21A4 105F62C0 19 09 0100 0F00 0000 A4210C11 0000 0000 Если кнопка Правая_софт в состоянии 1 то переход на 0x110C21A4 105F62D0 1C 00 0000 0000 0000 34929210 0000 0000 Переход на адрес 0x10929234 Как задумал я: Вместо 105F6230 5C 00 0000 0000 0000 00000000 0000 0000 Подготовка окна Сделать 105F6230 1C 00 0000 0000 0000 XXXXXXXX 0000 0000 Переход на адрес ХХХХХХХХ Пусть ХХХХХХХХ это адрес неиспользуемого ресурса. Вот что там написать. 5C 00 0000 0000 0000 00000000 0000 0000 Подготовка окна 79 00 0000 0000 0000 00000000 0000 0000 MCC_SET_CURMENU 76 00 000C 0141 0000 00000000 3000 0000 MCC_MENU_START 7D 09 0200 0400 0100 00000000 0000 0000 Описание меню с первым индексом из 4 пунктов Вот тут надо редактировать эту МСС - 7D09 с case-переходом 02 LDR R0, =0x000004FA BL _lk_get_text10F8D32A: MOV R3, R5 MOV R1, #0x0 LDRH R2, [R7, #0] BL _Reg_Draw_Title Это начало этого case-перехода. Этот код вырисовывает верхнюю полосу с соответствующим текстом. Вот вместо него сделать врезку - опять переход куда-нибудь на неиспользуемый ресурс и там переписать этот case с учётом ещё одного пункта меню. Старый case можно будет затереть. Ну а дальше дополнить 7A 00 0000 0000 0000 F4979210 0000 0000 По пункту меню 0 переход на адрес 0x109297F4 7A 00 0100 0000 0000 B4989210 0000 0000 По пункту меню 1 переход на адрес 0x109298B4 7A 00 0200 0000 0000 249F1A10 0000 0000 По пункту меню 2 переход на адрес 0x101A9F24 7A 00 0300 0000 0000 УУУУУУУУ 0000 0000 По пункту меню 3 переход на адрес, где я уже свои эксперименты буду делать А дальше эти кнопки дописать. Можно так сделать?
  6. Кто-нибудь может описать, как добавить ещё один новый пунтк меню? Подозреваю, что на месте подготовки окна меню надо написать 1C 00 0000 0000 0000 XXXXXXXX 0000 0000 где ХХХХХХХХ - адрес неиспользуемого ресурса, и там уже писать новое меню. Прошивка у меня если что D500XEEG3
  7. Теперь в JAVA в приложениях, использующих GPRS, вместо надписей [Want to send socket information ?] и [Want to send HTTP information ?] будет отображаться русская надпись [Хотите подключиться?]. Патч правит код! Языковые ресурсы я вообще не затрагивал Внимание! Перед установкой патча необходимо установить мой патч [AntiMMS_Animation], так как патч использует область картинки для отправки ММС. P.S. Если у вас стоит нестандартная анимация отправки ММС, то при установке патча может возникнуть предупреждение о несоответствии оригиналов - смело игнорируйте. Vopros_po_Russki_.rar
  8. Ну наконец нашёл время перенести патч с Х700 - CGSN-патч - на D500XEEG3 Позволяет считывать данные из памяти телефона (например просмотреть адрес любой менюшки). В архиве патч и его исходник CGSN.rar
  9. Longhair, больше в той функции я не нашёл мест, где бы при нажатии на левую софт выскакивало сообщение "Нажмите Да!". Но по приезду домой я попробую поизменять то единственнное место. Когда у меня заблокированна клавиатура и экономрежим, при нажатии на кнопки у меня вообще ничего не выскакивает. Только включается подсветка при удержании любой кнопки. Ну а при нажатии на левую софт появляется "Нажмите да!" При нажатии на правую софт ничего не происходит, хотя, как я говорил, я там врезался и если телефон в неэкономичном режиме, то при нажатии на правую софт появляется "Нажмите да!" Также если телефон в неэкономичном режиме, при нажатии на любую кнопку появляется "Разблок, а затем ОК!". Будет лучше наверное, если я выложу исходник через несколько дней и в каких местах я врезался
  10. Longhair, я пока ещё делал врезку там, где обрабатывается левая-софт. Просто для пробы я сделал так, чтобы при нажатии на правую-софт тоже выскакивало сообщение "Нажмите Да!" На данный момент это получилось, но оно не выскакивает, если подсветка выключенна и отображается время при заблокклаве. А если я только что заблокировал клавиатуру - то всё как надо - и на левую- и на правую-софт срабатывает то что надо. Значит ли это, что левая-софт обрабатывается 2 раза для разных режимов - когда включена подсветка при заблокклаве, и когда эконом-режим при заблокклаве? А сообщение "Разблок. а затем ОК" у меня же тоже выскакивает, только когда заблокированна клавиатура, но телефон ещщё не перешёл в экономрежим.
  11. Похоже, что тут 1083DB46 CMP R0, #0xE ; нажата ли левая-софт? 1083DB48: BNE loc_1083DB54 ; если нет, то выполняем другой код 1083DB4A: MOV R1, R4 ; иначе выполнить вот это 1083DB4C: LDR R0, =f_color ; вот тут вообще-то адрес как раз той МСС-шки, которая выводит сообщение "Нажмите Да!" 1083DB4E: BL _lk2_12start_menu_edit_fsm 1083DB52: B loc_1083D6D6 Значит вклиниваться здесь и сначала сделать CMP R0,#0xD и все варианты с ним, а потом восстановить что затёр?
  12. Вставлял себе в телефон СИМ-карту от МТС, обратил внимание, что в приложениях появился новый пункт меню МТС-info. В коде же нет такого пункта, откуда он считываеться? И там дальше всякие пункты типа "Чат", "Флирт" и т.п., можно менять язык, в прошивке же тоже не записаны эти текстовые ресурсы. В телефонной книге появился пункт "Каталог сервисов", где тоже ещё 5 пунктов, написанных транслитом: 1 Spravka MTS 2 MGTS и т.д, со всплывающими подсказками. Так вот, это всё дело есть в коде или ещё откуда-то считывается?
  13. Longhair, вот именно из-за этого ничего не получалось. Во-первых, я находил уже это место очень давно. Сначала я не проверял то это или нет, и просто делал врезки на том месте. Ничего не менялось. Я в итоге вообще стирал это место - в телефоне ничего не изменилось. Я не знаю как на Х700, а на D500 подсветка врубается при удержании любой кнопки при заблокклаве. Во-вторых, слишком запоздало ко мне пришло подозрение, что обработки боковушек там нет. В итоге это подтвердил NeO_2kX. В-третьих, я с этим делом даже Dimastyja напрягал, и где-то в этой теме в 5-ти последних страницах он тоже подтверждает, что код для обработки боковых клавиш там "для другого режима". Обрабатывается удержание всех клавиш, я даже пробовал приоткрывать слайдер и нажимать на 9-ку, 8-ку - подсветка тоже включается. В итоге получается, что там цикл? Прогоняется обработка всех клавиш, потом идёт дальше выполнение кода. Только я не нашёл там функций, врубающих подсветку, будто до них очень долго дело доходит. Правда теперь меня смущает, то место которое я нашёл - а гарнитура ли там обрабатывается или нет... И ещё теперь вопросы, в том коде, который ты представил... 1) Зачем вот это делать MOV R1, R4 Вот это если я правильно понял - ADD SP, SP, #0x1C - в регистре SP выделяется дополнительно 1C байт 2) Почему восстанавливаются регистры из стека POP {R4-R7,PC}, если до этого они нигде в стек не сохранялись?
  14. Я из другого города пишу, на память не вспомню на какой код я возвраты делал Но я делал так, что сначала обработается кнопка I, и если нажата то выполниться мой код, а затем возвращается в начало, потому что если кнопка не нажата, то надо чтобы обработалось CMP R0,0x11 Короче, в воскресение если домой заеду, напишу что и как. Longhair, что за ошибки? Код скомпилировался нормально, без ошибок. Или ты имеешь ввиду, что такой код не включит подсветку? А вклинился я здесь 0x1083DB54, потому что же по этому адресу идёт обработка кнопки гарнитуры. А я сделал, чтобы вместе с ней просматривалась, нажата ли I
  15. Снова я лезу со своим патчем на 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
  16. А если например эта функция вывода текста на экран, то чтобы её вывести, надо же координаты. Координаты заносятся в регистры. Выходит, каждому выпадает честь исследовать функцию и самому смотреть, в какие регистры координаты заносить. Я так понял, нет пока никаких документаций по функциям, где описываеться, что функция делает и как она использует регистры? Ведь много пишут исходники, зная как работать с функцией, но никто вообще не выкладывал описания хотя бы по тому, что известно, на общее пользование?
  17. Чтобы не мусорить, и не создавать новую тему с похожим вопросом, спрошу здесь. Кто-нибудь может посоветовать программу, чтобы осветлить видео? Я сам знаю, что такие программы есть. Причём мне надо повысить гамму. Дело в том, что есть видеозаписи, как я барабаню на концерте, но в довольно тёмных тонах. Если через проигрыватель VLC media player повысить гамму, то всё прекрасно видно, но это-то проигрыватель, а не конвертер. Я даже находил один конвертрер - PowerDirector Pro, там можно осветлить, но там повышается яркость у светлых видео, а у тёмных просто белая пелена.
  18. Чтобы не мусорить, и не создавать новую тему с похожим вопросом, спрошу здесь. Кто-нибудь может посоветовать программу, чтобы осветлить видео? Я сам знаю, что такие программы есть. Причём мне надо повысить гамму. Дело в том, что есть видеозаписи, как я барабаню на концерте, но в довольно тёмных тонах. Если через проигрыватель VLC media player повысить гамму, то всё прекрасно видно, но это-то проигрыватель, а не конвертер. Я даже находил один конвертрер - PowerDirector Pro, там можно осветлить, но там повышается яркость у светлых видео, а у тёмных просто белая пелена.
  19. А можно куда-нибудь выложить патч "MemorySize в Java", который я сделал, чтобы его протестировал кто-нибудь? Тут то наверное не по теме будет
  20. Допустим, в прошивке D500BVDK8 я знаю адрес переменной GS_LOOK - 18980A08 Как найти эту переменную в D500XEEG3, если в SYM-файле такой переменной нету? Я пробовал в BinEdit открывать прошивку D500BVDK8, там в поиске вводить 18980A08 и делать поиск всевозможных адресов использования функции или адреса, вот мне там куча мест вывалилось. Я пробовал искать аналогичный код, но даже если находил аналоги, то там не было того же самого... Вот например в D500BVDK8 3E48 LDR R0, =gs_look 8068 LDR R0, [R0, #0x8] В D500XEEG3 Находиться... у например вот что 3E48 LDR R0, =Key_Lock_Info 8068 LDR R0, [R0, #0x8]
  21. Тоже вопрос о МСС Пусть например есть участок кода где в R0 что-то помещается с какого-нибудь адреса. По этому адресу вот что 15 09 0500 0000 0000 00000000 0000 0000 MCC_BS 38 00 0000 0000 0000 00000000 0000 0000 Завершение МСС скрипта А что делает эта MCC_BS ?
  22. Я попытался портировать на D500 CGSN-патч, но нигде не написанно, как с ним работать нужно. Куда эти команды AT+CGSN - возвражает IMEI телефона AT+CGSN? - возвращает название патча .... вписывать-то? Я запустил в BinEdit подключение к телефону, там убрал галку "Проверять наличие патча". Потом выбрал скорость 115200, применил. Внизу появилось, что SAMSUNG D-500 подключен. Куда дальше команды то вбивать? Я только нашёл, что когда в программе по кнопкам "клавиатуры" тыкаешь, в телефоне эти же цифры тоже набираются.
  23. Довольно неплохо освоил уже видеоредакторы, в том числе и Pinaccle Studio. Хотел узнать, существует ли программа, чтобы можно было накладывать 2 видео друг на друга, но те просто накладываемое видео было прямоугольным, а можно вырезать произвольную фигуру и её наложить? Например стоит один человек, а рот у него для другого человека. Я пробовал в Pinnacle Studio, но там нельзя выделять произвольные границы, а хроматический ключ помогает, если фон однородный. И второй вопрос. Через что делают рекламу на ТВ ? Это особо специфические программы или их легко достать?
  24. Довольно неплохо освоил уже видеоредакторы, в том числе и Pinaccle Studio. Хотел узнать, существует ли программа, чтобы можно было накладывать 2 видео друг на друга, но те просто накладываемое видео было прямоугольным, а можно вырезать произвольную фигуру и её наложить? Например стоит один человек, а рот у него для другого человека. Я пробовал в Pinnacle Studio, но там нельзя выделять произвольные границы, а хроматический ключ помогает, если фон однородный. И второй вопрос. Через что делают рекламу на ТВ ? Это особо специфические программы или их легко достать?
  25. Немного отвлекусь от своего наболевшего патча, задам общий вопрос. Просматривая исходники, я видел там, что одна из частых команд что-то вроде LDR Rx =какая-то_функция А откуда патчеписатель знает назначение функций? Я ни разу не видел, чтобы где-то были описания функций, хотя бы тех, которые уже известны. Я думаю, мне было бы понятнее разбирать исходники патчей, если бы знал какие там функции. Нигде нету такого описания?
×
×
  • Создать...