OUT-CLUB.RU

OUT-CLUB.RU (https://out-club.ru/board/index.php)
-   Outlander XL 2007 - 2012 г.в. - Электроника, мультимедиа, навигация (https://out-club.ru/board/forumdisplay.php?f=271)
-   -   Исследование механизма работы ПО MMCS (https://out-club.ru/board/showthread.php?t=37735)

MadLord 02.06.2014 09:58

Re: Исследование механизма работы ПО MMCS
 
Вложений: 2
Цитата:

Сообщение от AS21 (Сообщение 1696849)
МОЖЕТ только YDean - но он сйчас занят
Кроме того - ему очень не нравится ассемблер SH4
Может начнем сами осваивать?...

Итак, что мне удалось накопать....

Сначала ссылки:
документация
Вложение 112003
Вложение 112004
описание на MSDN - http://msdn.microsoft.com/en-us/library/ms925514.aspx
небольшой опыт дизассемблирования
https://out-club.ru/board/showthread...set#post901468
http://graland-security.blogspot.ru/...6/sh4-fun.html

Описание регистров:
R0 Return values
R1 Temp register
R2 Temp register
R3 Temp register
R4 First function argument
R5 Second function argument
R6 Third function argument
R7 Fourth function argument
R8 Permanent register
R9 Permanent register
R10 Permanent register
R11 Permanent register
R12 Permanent register
R13 Permanent register
R14 Default frame pointer
R15 Stack pointer

Все регистры 32-битные...есть еще регистры для float, но пока их не смотрел...
регистр PR - Procedure register (32 bits, initial value undefined): The return address is stored in PR in a subroutine call using a BSR, BSRF, or JSR instruction, and PR is referenced by the subroutine return instruction (RTS).

Не забываем, что система BE (big endian), поэтому константы читаем наоборот:
mov #H'3ac, R1 (в другой записи mov #0x3ac, R1) - т.е. в R1 помещается 0xAC03

еще один момент от ежика:
Цитата:

У SH4A все переходы, кроме bt и bf являются delayed. Это означает, что следующая за командой перехода инструкция выполняется ПЕРЕД переходом
Цель минимум: получить при загрузке на экране "Hello world!"...
Для себя представляю примерно так:
нужно получить файл типа

Код:

void main()
{
  print("Hello world!");
}

(пусть даже с ассемблерными вставками - почему, читайте ниже) и скомпилировать его в Platform Builder.

Исходные данные:
для реализации можно анализировать модули SCLoader.exe или HMImanager.exe, которые загружаются на этапе init и используют в импорте минимум библиотек

Проблемы:
есть подозрение, что работа с железом зашита в каждый модуль отдельно, т.е. нет некоего отдельного драйвера для экрана...кроме того, часть модулей пишется в ROM без релока (не знаю как это по научному), поэтому обращение к процедурам таких модулей идет через обращение к соответствующим адресам ROM...вывод сделан также на основании этого поста...
поэтому было бы неплохо найти, по каким адресам ROM загружаются такие модули...или выдрать вызов этих функций и прямо ассемблером вставить в код...

ну вот так для начала...

AS21 02.06.2014 10:22

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1699761)
поэтому было бы неплохо найти, по каким адресам ROM загружаются такие модули...

Все "exe" - 10 0000
Далее делаешь DUMP -> в файле map.txt - см. Vbase - это нужный адрес в ROM для модулей типа "dll"
или просто не DUMP, а MAP-> все Vbase вначале по секционно

Добавлено через 15 минут
Цитата:

Сообщение от MadLord (Сообщение 1699761)
есть подозрение, что работа с железом зашита в каждый модуль отдельно, т.е. нет некоего отдельного драйвера для экрана...

Это не подозрение, это уже факт

MadLord 02.06.2014 11:26

Re: Исследование механизма работы ПО MMCS
 
где-то встречал (в принципе, могу даже ссылки найти), что IDA умеет с целыми прошивками работать, если ей задать нужные адреса ROM...кто-нить в курсе?...или я что попутал?...

AS21 02.06.2014 11:50

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1699802)
что IDA умеет с целыми прошивками работать, если ей задать нужные адреса ROM...кто-нить в курсе?.

Немного не понял, о чем речь
Посмотри здесь https://out-club.ru/board/showpost.p...postcount=1245

MadLord 02.06.2014 12:17

Re: Исследование механизма работы ПО MMCS
 
я про это, правда пока не знаю, подойдет ли это нам...
http://forums.evolutionm.net/7559303-post17.html
http://mobilefree.ru/newbb_plus/view...?topic_id=4456

AS21 02.06.2014 13:17

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1699844)
я про это, правда пока не знаю, подойдет ли это нам...

IDA - однозначно
а вот первая поизиция - не знаю

MadLord 02.06.2014 15:28

Re: Исследование механизма работы ПО MMCS
 
вот для начала, SCLoader.exe из N-04 (в американке проще текст искать :)) :
Код:

pdata:00012138 loc_12138:
.pdata:00012138                jsr    @r3
.pdata:0001213A                nop
.pdata:0001213C                mov    #3, r3
.pdata:0001213E                mov.l  @(h'10,r8), r4
.pdata:00012140                mov.l  r3, @(h'14,r15)
.pdata:00012142                mov    #h'7A, r7
.pdata:00012144                mov.l  off_1249C, r5 ; aPleaseWait_ ; "Please wait."
.pdata:00012146                mov    r9, r6
.pdata:00012148                mov.l  off_12190, r3 ; sub_13348
.pdata:0001214A                jsr    @r3 ; sub_13348
.pdata:0001214C                mov.l  r13, @(h'10,r15)
.pdata:0001214E                bra    loc_1247C
.pdata:00012150                nop

завтра немного подробнее про этот кусок расскажу...

Добавлено через 2 минуты
Цитата:

Сообщение от AS21 (Сообщение 1699776)
Это не подозрение, это уже факт

это, кстати, косвенно видно в модуле SCLoader.exe - в таблице импорта есть только NStandardLib.dll и NSystemInfoLib.dll (кроме, конечно core.dll)...и ни одного вызова типа print или view....

AS21 02.06.2014 15:41

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1700053)
(кроме, конечно core.dll)

С coreddl.dll - прблема
Кроме того что reloc, у нее единственой - ординал надо править, если экспортировать
Я "ординал" - так и не написал

MadLord 03.06.2014 08:57

Цитата:

Сообщение от MadLord (Сообщение 1700053)
вот для начала, SCLoader.exe из N-04 (в американке проще текст искать :)) :
Код:

pdata:00012138 loc_12138:
.pdata:00012138                jsr    @r3
.pdata:0001213A                nop
.pdata:0001213C                mov    #3, r3
.pdata:0001213E                mov.l  @(h'10,r8), r4
.pdata:00012140                mov.l  r3, @(h'14,r15)
.pdata:00012142                mov    #h'7A, r7
.pdata:00012144                mov.l  off_1249C, r5 ; aPleaseWait_ ; "Please wait."
.pdata:00012146                mov    r9, r6
.pdata:00012148                mov.l  off_12190, r3 ; sub_13348
.pdata:0001214A                jsr    @r3 ; sub_13348
.pdata:0001214C                mov.l  r13, @(h'10,r15)
.pdata:0001214E                bra    loc_1247C
.pdata:00012150                nop

завтра немного подробнее про этот кусок расскажу...

рассказываю...
на входе R3 содержит ссылку на функцию sub_13348
JSR (Jump to SubRoutin) вызывает эту функцию...JSR delayed - отложенная, т.е. сначала выполняется NOP, потом JSR...по идее, в R0 должен быть результат функции
в R3 помещается константа 3
в R4 (первый аргумент функции) помещается R8 + h'10...R8, наверно, содержит какой то указатель на класс...
стек (R15) смещается на h'14 и туда помещается константа 3 из R3
в R7 (четвертый аргумент функции) помещается константа h'7A
в R5 (второй аргумент функции) помещается выводимая строка (т.е. ссылка на нее)
в R6 (третий аргумент функции) помещается значение R9 (возможно тоже ссылка на какой-то класс)
далее опять сдвиг стека R15 (JSR delayed, поэтому сдвиг делается перед вызовом) и вызов опять же функции sub_13348
затем безусловный переход к loc_1247C, опять же delayed, т.е. сначала NOP...

в общем, похоже, что print кроется где-то за sub_13348...вызов типа такой:
sub_13348(class1, "string", class2, h'7A)
(в основном пишу на perl, поэтому такой формат :) )
теоретически, class1 может быть типа format...

AS21 03.06.2014 10:29

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1700457)
рассказываю...

Я все буду внимательно читать и подтягиваться до твоего уровня
Но пока ближайшие 3-4 дня хочу закрыть старые вопросы:
- дописать экспорт iarc
- дописать редакцию tbl
- дописать экспорт symb
Пока оно свежо в памяти
Если понадобится - позже допишу и импорт iarc и symb
Параллеьлно долбаю scrn
Если есть желание, могу по scrn выложить то, что на сегодня нарыл:
В принципе от помощи не откажусь
Там есть закономерности в кодах, но до сути пока далеко
После scrn - вплотную буду готов заняться ассемблером
Без scrn - тяжело будет и полнять как используется этот формат в коде и просто изменить "Hello.." - и проверить, где оно всплывет
Для себя вижу два направления:
- либо переделать японку под русский стандарт: радио + navi
- либо в русской найти камеры + TV - переделать как в японском
Остальные: компас, карты с двух директориев нну и т.д. - попутно

MadLord 03.06.2014 10:43

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1700524)
Если понадобится - позже допишу и импорт iarc и symb

конечно надо....ради этого все и затеивалось...вот только надо сделать так: выбор символа из файла symb и замена его на другой...понимаю, что немного сложнее задача, но инструмент будет очень полезный...на основе его планирую символы в других прошивках править...

AS21 03.06.2014 10:49

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1700537)
.вот только надо сделать так: выбор символа из файла symb и замена его на другой..

Тогда ассемблер как минимум на неделю откладывается
менять будем по алгоритму как в ScreenData:
- все старое выгрузилось - лейба
- скопировали все новое поверх старого
- нажали "продолжить" - обратно все загрузилось

Если сложно или неудобно - жду предложения

MadLord 03.06.2014 11:12

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1700541)
менять будем по алгоритму как в ScreenData:
- все старое выгрузилось - лейба

выгружается сам файл symb или символы внутри него?...

AS21 03.06.2014 13:36

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1700555)
выгружается сам файл symb или символы внутри него?...

Сам файл symb - ты можешь выгрузить уже сейчас, см. меню экспорт
В данном случае в директорий под одноименным названием, как файл - выгружаются в формате bmp картинки из файла symb
В таком же формате под тем же именем замещаем новую картинку

MadLord 03.06.2014 14:26

Re: Исследование механизма работы ПО MMCS
 
ага...то, что нужно :good:

MadLord 05.06.2014 08:31

Re: Исследование механизма работы ПО MMCS
 
Вложений: 1
У кого есть R-03?....очень нужно содержимое этой EEPROM
Вложение 112223

AS21 05.06.2014 08:55

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1701829)
У кого есть R-03?....очень нужно содержимое этой EEPROM

Обратись к Ёжику, если и есть, то у него это содержимое

ZYGARD 05.06.2014 11:32

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1701829)
У кого есть R-03?....очень нужно содержимое этой EEPROM
Вложение 112223

У меня есть, какая там микруха?
И что в ней собственно лежит за инфа предположительно?!

MadLord 05.06.2014 11:39

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от ZYGARD (Сообщение 1701977)
У меня есть, какая там микруха?
И что в ней собственно лежит за инфа предположительно?!

вроде как 24С04...пока только предположения - возможно что-то, связанное со стандартом выводимого сигнала...

AS21 05.06.2014 17:15

Re: Исследование механизма работы ПО MMCS
 
Практически заканчиваю разбирать формат SCRN
К сожалению Ydean - занят
Если есть, кто понимает графику (bmp, gif) в кодах - отзовитесь
Есть части кода основного, остальное (палитры и прочее) либо находим в таблицах (я их расшифровал) либо эмпирическим путем по первому, остальные по шаблону
На выходе -нормальная картинка, котрая отображается на экране MMCS
- меню (я так думаю) или, например, настройка парковочных линий со всеми ее кнопками
Если есть умельцы - отзовитесь!!!
Либо подскажите сайт таких умельцев...

Lexa609 07.06.2014 01:23

Re: Исследование механизма работы ПО MMCS
 
Куда в Японской версии подключается антенна для телевизора ? хочу конвертор тв подключить.

MadLord 10.06.2014 05:46

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от Lexa609 (Сообщение 1696112)
С этого сайта русский Loading j-02 - j-04 у меня работает.
Только навигация не говорит,звука нет.

подтверждаю, возможно проблема с американском AVUnit.exe....

Olluser 11.06.2014 03:08

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от MadLord (Сообщение 1704858)
С этого сайта русский Loading j-02 - j-04 у меня работает.
Только навигация не говорит,звука нет.

и DVD не работает

Lexa609 11.06.2014 09:31

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от Olluser (Сообщение 1705400)
и DVD не работает

Он и не должен работать.

AS21 12.06.2014 22:28

Re: Исследование механизма работы ПО MMCS
 
Сделал редакцию таблицы, и просмотр файлов
JRemaker версия 214
Погоняйте кому интересно
Можно теперь переводит надписи или на русский или на другой язык

vadimus_ca 12.06.2014 23:16

Re: Исследование механизма работы ПО MMCS
 
А когда и как происходит запись изменений?

Добавлено через 3 минуты
Хотелки к редактору:
1. Поиск (внутри выбранного столбца)
2. Копирование-вставка ячейки
3. Кириллица отображается корректно, а вот всякие умляуты - нет, если был бы выбор кодовой страницы - было здорово.

AS21 13.06.2014 06:54

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1706142)
А когда и как происходит запись изменений?

Когда уходишь с ячейки
Цитата:

Добавлено через 3 минуты
Хотелки к редактору:
1. Поиск (внутри выбранного столбца)
2. Копирование-вставка ячейки
Скоро будет поиск и сортировка,
Копировать: работает сейчас через выделение + ctrl/C, в том числе и в donor
Но изменения можно сохранить только в current
Цитата:

3. Кириллица отображается корректно, а вот всякие умляуты - нет, если был бы выбор кодовой страницы - было здорово.
Практически невозможно, кодовая страница пока одна. Буду думать...

Добавлено через 20 минут
Выложи перечень кодовых страниц - которые надо подставлять

Lexa609 13.06.2014 09:28

Re: Исследование механизма работы ПО MMCS
 
J-02 c прошивкой MadLord
В календаре дату показывает на день назад (сегодня 13 , в календаре 12)
в GPS setings показывает верно (13) ставлю на день вперед (14) в каледаре начинает показывать 13 но не надолго ,потом возвращается обратно на 12е

AS21 13.06.2014 10:37

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1706142)
3. Кириллица отображается корректно, а вот всякие умляуты - нет, если был бы выбор кодовой страницы - было здорово.

Пока не нашел умлятов - кирилица и латиница -Ок
Пришли пример

Добавлено через 1 минуту
Цитата:

Сообщение от Lexa609 (Сообщение 1706208)
в GPS setings показывает верно (13) ставлю на день вперед (14) в каледаре начинает показывать 13 но не надолго ,потом возвращается обратно на 12е

Может влияет часовой пояс как-то?
Хотя это бред...

Добавлено через 3 часа 14 минут
JRemaker версия 219 - убрал некоторіе глюки по отображению map
Уже могу подставлять разную кодировку на выбор - сообщи пример, гду умляты и какая кодировка нужна

Mav67 13.06.2014 15:02

Re: Исследование механизма работы ПО MMCS
 
Умляуты - это в немецком языке буквы ä, ü, ö. Например, Австрия пишется как Österreich. Есть вот еще такая буковка - ß.

AS21 13.06.2014 15:04

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от Mav67 (Сообщение 1706287)
Умляуты - это в немецком языке буквы ä, ü, ö. Есть еще вот такая буковка - ß.

В какой кодировке ОНО будет нормальным?

vadimus_ca 13.06.2014 17:18

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1706219)
Может влияет часовой пояс как-то?

Влияет. Нужно изменить его на 24 часа.


Цитата:

Сообщение от AS21 (Сообщение 1706290)
В какой кодировке ОНО будет нормальным?

ISO/IEC 8859-1, Windows-1252
http://en.wikipedia.org/wiki/ISO/IEC_8859-1

Добавлено через 2 минуты
Цитата:

Сообщение от AS21 (Сообщение 1706186)
Копировать: работает сейчас через выделение + ctrl/C, в том числе и в donor

А вставка?

Добавлено через 10 минут
Цитата:

Сообщение от AS21 (Сообщение 1706219)
Пришли пример

Dщsactiver щcran - Désactiver écran
wфhrend -während

AS21 13.06.2014 17:33

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1706325)
Dщsactiver щcran - Désactiver écran
wфhrend -während

какой файл? какой loading.kwi? а еще, если выгрузишь его через экспорт - № индекса?

vadimus_ca 13.06.2014 17:34

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от Mav67 (Сообщение 1706287)
Умляуты - это в немецком языке буквы ä, ü, ö. Например, Австрия пишется как Österreich. Есть вот еще такая буковка - ß.

В других европейских языках таких букв тоже много.
По-английски они называются accented characters, а по-русски еще со времен русификации под досом мы называли их (как и псевдографику) кракозяблами :)

Добавлено через 4 минуты
Цитата:

Сообщение от AS21 (Сообщение 1706330)
какой файл? какой loading.kwi?

8002
Код:

line: 0009        AV_DISP_OFF        (9) 20060515Change 20070205Change 20070509Change        (559) Display Off        (1109) Display Off        (1659) Display av        (2209) Bildschirm aus        (2759) Dщsactiver щcran        (3309) Apagar pantalla        (3859) Display uit        (4409) Schermo spento        (4959) Display slukket        (5509) Apagar pantalla        (6059) nothing        (6609) Dщsactiver щcran        (7159) Mostrador Apagado

line: 0085        AV_CDDA_REC_TELOP_01        (133) 20070220Change 20070426Change        (683) Sound is reproduced from Music Server during recording.        (1233) Sound is reproduced from Music Server during recording.        (1783) Ljudet хterges frхn Music Server under inspelning.        (2333) Wфhrend der Aufzeichnung erfolgt Wiedergabe vom Music Server.        (2883) Le son est reproduit du Music Server pendant l'enregistrement.        (3433) El sonido es reprod. del Music Server durante la grabaciѓn.        (3983) Muziek van Music Server wordt weergegeven tijdens opname.        (4533) Suono riprodotto da Music Server durante la registrazione.        (5083) Music Server spiller musik under optagelse.        (5633) El sonido es reprod. del Music Server durante la grabaciѓn.        (6183) nothing        (6733) Le son est reproduit du Music Server pendant l'enregistrement.        (7283) Som reproduzido a partir do Music Server durante grav.


AS21 13.06.2014 18:52

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1706142)
3. Кириллица отображается корректно, а вот всякие умляуты - нет, если был бы выбор кодовой страницы - было здорово.

Уговорил
Версия 221, проверь

Цитата:

Сообщение от vadimus_ca (Сообщение 1706325)
Влияет. Нужно изменить его на 24 часа.

Ты занешь как это сделать?

Добавлено через 1 минуту
По формату scrn - пока тупик, есть желающие поломать голову над цифрами?

vadimus_ca 13.06.2014 19:17

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1706351)
Версия 221, проверь

Работает, пока не зайдешь в ячейку. При выходе из нее - Mise à niveau impossible превращается в Mise ? niveau impossible

AS21 13.06.2014 20:02

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от vadimus_ca (Сообщение 1706360)
Работает, пока не зайдешь в ячейку. При выходе из нее - Mise à niveau impossible превращается в Mise ? niveau impossible

Версия 222

mitsubi 14.06.2014 21:10

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1695238)
Я правильно понял, у япошек есть что-то похожее на наш форум?
Так может у братьев есть, как у нас японский loading.kwi для J11?

вероятно, что у ребят из Владика уже есть образ от J-11 (см. ссылку --> http://tehnolux.tv/boot_disc/mitsubishi/j-11-japan)

Lexa609 15.06.2014 08:30

Re: Исследование механизма работы ПО MMCS
 
Цитата:

Сообщение от AS21 (Сообщение 1706219)
Добавлено через 1 минуту

Может влияет часовой пояс как-то?
Хотя это бред...

Точно часовой пояс, поставил Японию стал показывать дату верно, а время нет.
В GPS setings поставил +14 часов ,потом выбрал нужную тайм зону и все сейчас показывает нормально и дату и время,не знаю на долго ли.......

megaaxel 16.06.2014 01:31

Re: Исследование механизма работы ПО MMCS
 
нарыл сервис-мануалы от MMCS HDD и SD поколений.
по возможности ссылки выдам завтра.


Текущее время: 02:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
Использование материалов сайта разрешается только при условии размещения активной ссылки на OUT-CLUB.RU
Copyright ©2006 - 2025, WWW.OUT-CLUB.RU