Перейти к содержимому


Фотография
* * * * * 7 Голосов

Всё о Samsung Sgh-j210


  • Please log in to reply
1098 ответов в этой теме

#1081 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-июл-23 - 16:52

Доработал патч "Подсветка в Java". Сделал меню Настройки-Подсветка-Постоянная подсветка в Java - Включено/Выключено. В состоянии Выключено подсветка гаснет, но при активации все равно появляется заставка Java Powered, а потом артефакты от нее. При выходе из приложения подсветка гаснет нормально (без необходимости нажатия красной кнопки). Кто-нибудь может посмотреть, где сделана ошибка?

Прикрепленные файлы



#1082 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-02 - 18:06

Есть ли возможность портировать на данный телефон патч "Переключение языка ввода в Java"? Например, для C5212XEIB5 есть патч "Fast_Swithing_Language_Input_v37". 



#1083 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-авг-03 - 16:24

Есть ли возможность портировать на данный телефон патч "Переключение языка ввода в Java"? Например, для C5212XEIB5 есть патч "Fast_Swithing_Language_Input_v37".

Ну по идее можно (лично у меня нет мотивации и времени заниматься совсем неактуальной моделью). Исходники патча выложены, там даже есть комментарии.

#1084 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-07 - 06:55

Выкладываю сделанные мною для телефона J210 asm "Быстрое переключение языка ввода" и "Перехват кнопок в JAVA" на примере C5212XEIB5. В результате язык переключается клавишей "фото" (действует короткое, длинное нажатие, удержание) везде, кроме Java. А именно из-за Java весь сыр-бор!

Прикрепленные файлы



#1085 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-авг-08 - 16:36

везде, кроме Java. А именно из-за Java весь сыр-бор!

Делай какой-то контрольный маркер по всей процедуре в яве… Чтобы понять - может вообще в яве не отрабатывает кнопка, а может сама функция переключения языка выполняется но не срабатывает…

Если там есть CGSN-патч (чтобы читать в реалтайме ОЗУ мобилы) - то можно где-то в пустое место записывать прогресс выполнения
например на обработке кнопки
LDR R3, =memory
MOV R2, 1
STRB R2, [R3]
потом на вызове переключения
LDR R3, =memory
MOV R2, 2
STRB R2, [R3]
и т.д.

#1086 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-08 - 18:35

Если там есть CGSN-патч (чтобы читать в реалтайме ОЗУ мобилы) - то можно где-то в пустое место записывать прогресс выполнения
например на обработке кнопки
LDR R3, =memory
MOV R2, 1
STRB R2, [R3]
потом на вызове переключения
LDR R3, =memory
MOV R2, 2
STRB R2, [R3]
и т.д.

CGSN использовал только для нахождения адресов пунктов всплывающего меню (AT+CGSN=3). У себя не могу определить эквивалент  .equ CfgFile (для G600 - 0x30070000).  Я не программист, поэтому мне сложно понять тонкости вашего профессионального ответа. Я просто брал другие прошивки (D880,E740,G600) и сравнивал патчи. А патч "Переключение языка в java" стали делать только для более поздних моделей и менее схожих с J210. Понимаю, что без наличия самого телефона создание патча процесс очень сложный и дорогостоящий для клиента. Премного благодарен, что Вы уделяете много внимания и времени всем пользователям данного сайта, в том числе такому ламеру как я! 



#1087 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-16 - 17:29

Наконец-то я завершил работу над исправлением патча "Подсветка в Java"  и выкладываю финальную полностью протестированную версию. В данной версии отсутствуют какие-либо артефакты (спасибо f2065 за код).

Прикрепленные файлы


  • -=Е200=- нравится это

#1088 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-20 - 14:01

Сделал asm для скриншотов в java-приложениях по нажатию кнопки "Фото". Все работает. Это я делал для того, чтобы выяснить, можно ли при нажатии кнопки в java что-то менять. До этого я делал патч  Fast_Switching_Language_Input_v37_J210.7z, в котором кнопка "Фото" почему-то не срабатывала. Может я упустил какую-то важную деталь?

Прикрепленные файлы



#1089 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-22 - 18:13

Раз уж я сделал патч Скриншоты в Java, меня заинтересовала реализованная Вами возможность конвертации полученных снимков из raw в bmp (B5722XXJK3). Нашел эквиваленты (Rtk50_11GetDynMemory 0x211372C0, RtkReleaseMemory 0x211372A0, _rt_memcpy 0x208B25C8, vScreenMem 0x302FA620, gfs10_1CrtFile 0x20E19C80 (? в J210 экв. называется mmigfs3utility). Не уверен правильно ли я определил эквивалент 0x2197B5FA в прошивке B5722XXJK3 - 0x2015FC38 в J210XEHG1. Регистрацию файла в DB убрал, так как TFS в телефоне и так обновляется. Еще сложность в определении параметров BmpHeader  (biXPelsPerMeter,biYPelsPerMeter) для разрешения 176x220.



#1090 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-авг-23 - 20:42

Еще сложность в определении параметров BmpHeader  (biXPelsPerMeter,biYPelsPerMeter) для разрешения 176x220.

Там указывается кол-во точек на 1 метр (если бы условно экран бы в несколько тысяч пикселей чтобы занимать метр).
Надо точно измерить ширину и высоту реальной области дисплея (в идеале - разобрав корпус, чтобы стекло не мешалось).
XPelsPerMeter = разрешение_по_ширине / ширина_экрана_в_мм * 1000
YPelsPerMeter = разрешение_по_высоте / высота_экрана_в_мм * 1000

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

#1091 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-авг-25 - 17:09

Определил, что:

gfs10_1CrtFile = mmigfs1_0CreateFile адрес тогда не 0x20E19C80, а 0x20593338;

gfs30_24CptScr = mmigfs3_33LCDDump адрес 0x20E19C80.

К сожалению, по адресу 0x2197B5FA (B5722) так и не удалось найти эквивалент. Проверял адреса  0x216ACE02  и 0x2015FC38, там переход на адрес 0x20E19C80, а надо на 0x20593338. Другие два адреса (0x2095CB16 и 0x2052F5C4) тоже не коррелируются.

В коде менял только разрешение экрана и размер файла. Может быть есть какой-то другой критичный параметр?



#1092 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-окт-19 - 15:55

Портировал патч "Транслитерация". Но после ввода слова и выбора в опциях Translate мобила перезагружается. Возможно ли как-нибудь проверить правильность нахождения адресов tfs4_stat, tfs4_open, tfs4_read, tfs4_close? Думаю, что в них дело, так как в других адресах полностью уверен.

Прикрепленные файлы

  • Прикрепленный файл  Translit.7z   1,5К   Количество загрузок: 2


#1093 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-окт-23 - 18:50

Портировал патч "Транслитерация". Но после ввода слова и выбора в опциях Translate мобила перезагружается. Возможно ли как-нибудь проверить правильность нахождения адресов tfs4_stat, tfs4_open, tfs4_read, tfs4_close? Думаю, что в них дело, так как в других адресах полностью уверен.

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



#1094 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-окт-23 - 19:16

Проверил все адреса, сравнивая с разными прошивками. Все верно.

Надо реализовать патч в виде подпрограмм запускаемых через CGSN, и запускать их… Это позволяет в реальном времени проверять работу каждой функции, возвращаемые результаты и т.п.

#1095 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-окт-24 - 21:12

Надо реализовать патч в виде подпрограмм запускаемых через CGSN, и запускать их… Это позволяет в реальном времени проверять работу каждой функции, возвращаемые результаты и т.п.

Запустил в CGSN такой код:

.little
.include equ.asm
.thumb
.plugin
push {lr}
sub sp, sp, 0x400
 

My_translit_task:
    LDR        R5, =0x304A778A
    LDRH    R0, [R5, #4]
    
    CMP        R0, #0
    BEQ        Mtt_InitOk
    
    BL        T9BufferInit
    
    MOV        R0, #0
    STRH    R0, [R5]
    STRH    R0, [R5, #2]
    STRH    R0, [R5, #4]
    
Mtt_InitOk:
;Получение параметров файла    
    ADR        R0, ="/a/user/translate.tbl"
    MOV        R1, SP
    BL        tfs4_stat
    
    CMP        R0, #0
    BNE        Exit_My_translit_task

;Выделение памяти под файл    
    LDR        R0, [SP, #12]        ;R0 = fsize
    ADD        R0, #4
    LSR        R0, R0, #2
    LSL        R0, R0, #2
    BL        RtkGetMemory
    
    CMP        R0, #0
    BEQ        Exit_My_translit_task
    
    MOV        R6, R0

;Открытие файла    
    MOV        R1, #0
    ADR        R0, ="/a/user/translate.tbl"
    BL        tfs4_open
    
    MOV        R7, R0
    BMI        Mtt_ReleaseExit

;Чтение файла    
    LDR        R2, [SP, #12]
    MOV        R1, R6
    MOV        R0, R7
    BL        tfs4_read
    
    MOV        R4, R0

;Закрытие файла    
    MOV        R0, R7
    BL        tfs4_close

 

Mtt_ReleaseExit:    
    MOV        R0, R6
    BL        RtkReleaseMemory

 

add sp, sp, 0x400
pop {pc}
.endplugin
 
Exit_My_translit_task:
ADD SP, SP, #256
POP {R4-R7,PC}

убрал, так как мобила с ней перезагружается.

 

В итоге ничего не происходит, появились только регистры в правом окне терминала.



#1096 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-окт-24 - 23:27

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

LDR R0, [SP, #12]
str r0, [SP, 0x50]

BL RtkGetMemory
str r0, [SP, 0x54]

BL tfs4_open
str r0, [SP, 0x58]

BL tfs4_read
str r0, [SP, 0x5C]


add sp, sp, 0x400
ldr r0, [sp, 0x50]
ldr r1, [sp, 0x54]
ldr r2, [sp, 0x58]
ldr r3, [sp, 0x5C]


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

#1097 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-окт-25 - 06:06

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

Это была часть кода из файла asm Translit.7z.



#1098 f2065

f2065

    Программист

  • Администраторы ROOT
  • Сообщений: 6 976
  • Город:Russia,Moscow
  • Модель телефона: Samsung B310E, B5722, C3322, C3322i, S5610.

Отправлено 2018-окт-25 - 18:19

Это была часть кода

Ну именно эта часть в таком виде и не должна давать каких-то видимых эффектов…

#1099 bugbug

bugbug

    Advanced Member

  • Участники
  • PipPipPip
  • Сообщений: 35
  • Город:Санкт-Петербург
  • Модель телефона: J210

Отправлено 2018-окт-26 - 05:27

Ну именно эта часть в таком виде и не должна давать каких-то видимых эффектов…

Проверил данный код (Translit.7z) в патчах к телефонам D780,E200,X700,D880,E740,D900 - он у всех одинаковый.

Тогда решил воспользоваться хелпом с данного сайта по созданию TranslitModeSMS для различных прошивок. В пункте 3.1. предлагается выбрать базу для замены (немецкую). Открыл в Binedit свою прошивку (J210XEHG1) на вкладке Базы T9, выбрал немецкую - пишет ошибка в базе 828A. В итоге этот вариант не прокатил. 






10 человек читают эту тему

0 пользователей, 1 гостей, 0 скрытых пользователей


    BrandWatch (8), Semrush (1)
Яндекс цитирования