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)

holod 13.05.2009 21:11

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

Скрытый текст


Стантдарт KIWI
Существует три основных стандарта автомобильных систем GPS навигации: Navteq, GDF, KWI.
многие японские компании (прежде всего Мицубиси, Тойота, Ниссан), а также General Motors используют системы навигации, построенные на базе стандарта консорциума KIWI-W. Subaru - используют навигации производства Kenwood (тоже KWI).
Описание структуры файлов этого стандарта - расширение KWI.
KIWI - формат используется для описания карт и объектов, может содержать мета данных, например, голосовые сообщения.
Основные файлы на диске:
LOADING.KWI - загрузчик
ALLDATA.KWI - картографическая информация в специальном формате KIWI
INDEXDAT.KWI - поисковые и справочные индексы
Все эти файла, как правило, записывались на HDD
Пример структуры разделов HDD (MMCS R03)
1. Maps
2. blank
3. Loading
4. ScreenData
5. CDDB
6. AVUnit
На новых моделях, как напрмер MMCS W-11 и W-12, которая устанавливается на Аутлендер третьего поколения, вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая предположительно для музыки
Здесь описана классическая структура стандарта, но каждый производитель всегда вносит свои коррективы. http://www.kiwi-w.org/documents_eng.html
[свернуть]
LOADING.KWI — загрузчик

Скрытый текст

Это контейнер, который состоит из секций.
В общем случае лоадинг может содержать и одну секцию и больше...главное, что он содержит загрузчик для ОС.... саму ОС (не важно какую) он может и не содержать - загрузчик может ссылаться на другой файл, содержащий ОС....
Пример описания лоадинга на базе ОС WinCE (loading.kwi MITSUBISHI).
1. Заголовок.
1. Loader (boot)
2. Firmware (OS)
3. Screendata (FS)
У W11, W12 доплнительные секции:
4. Графические файлы *.bmp
5. Фалы типа *FONT.BIN — судя по названию, для отображения фонтов на экране.

Структура заголовка Loading.kwi


На примере loading.kwi MITSUBISHI:
Адрес -> Длина -> Назачение

0-1 ------> 2 ------>количество размещеных систем.
2-3 ------> 2 ------>Резерв
4-F ------> 12 ----->Идентификация и управленческая информация
10-11 ---> 2 ------> Количество частей в Loading
12-13 ---> 2 ------> резерв
14 ------> 1 ------> Категория модуля №1: 0- программа инициализации, 1 – программа, 2 – библиотека, 3 – data, + 40h (64) тестовый, + 80h (128) – сервисный диагностический
15-17 ----> 3 ------> Резерв

14-53 ------> 64 ------> 01 Категория Unit №1, NR261RM.MLD.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.MLD.ORG признак BOOT
00000113 Номер версии (F)
00000113 Номер версия (G)
00000101 Номер версия (J)
00000111 Номер версии (E)
54-93 ------> 64 ------> 01 Категория Init №2, NR261RM.SHx.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM – Европа
MMC13 – W11 , W12
NR242RM - русский вариант W-12;
NR242EM - европейский вариант;
NR242UM - американский вариант;
NR242AM - австралийский вариант.
Эти параметры сравниваются внутри BOOT
.SHx.ORG признак OS
00000400 Номер версии модуля OS (F)
00000500 Номер версии модуля OS (G)
00011403 Номер версии модуля OS (J)
00006203 Номер версии модуля OS (E)
94-D3 ------> 64 ------> 03 Категория Unit №3 NR261RM.SCN.ORG NR261RM.- русская голова,
NR261J11 – японская голова
NR261EM - европа
Эти параметры сравниваются внутри BOOT
.SCN.ORG признак DATA
00000400 Номер версии модуля FS (F)
00000500 Номер версии модуля FS (G)
00000000 Номер версии модуля FS (J)
00006203 Номер версии модуля FS (E)
D4-D5 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится действительным.
Дата отображается с количество дней считается с 1 января 1997 года как день 0 на основе UTC.
По умолчанию должен быть установлен с "00 (16)" Если Дата не задана.
Примерно: 10/07/2027
D6-D7 ----> 2 ------> 1D 60 1D 60 дата, на которую функции модуля становится не действительным.
D8-117 ----> 64 ------> Это поле используется для описания модуля для пользователя.
118-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода (если есть) Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода (если есть) Unit умноженое на 2
120-1D3 ----> 180 ------> Это поле используется изготовителем модуля, чтобы указать информацию, относящуюся к производителю.
[свернуть]

Описание Loader (boot)


Файл (контейнер) для хранения стартового образа прошивки в формате NB0, он в свою очередь запакован в контейнер BIN (файл формата bib).
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находится файл nk.exe — ядро системы.
Описание bib формат (файлы bin) http://msdn.microsoft.com/en-us/library/ms898171.aspx
[свернуть]

Описание Firmware (OS)


Файл (контейнер) для хранения рабочего образа прошивки в формате NB0.
Главным показателем того, что перед Вами находится прошивка в контейнере этого типа, является сигнатура BOOOFF.(именно с точкой на конце) , в начале образа.
В нем находятся все модули и файлы системы в разобраном виде. Стандарт PE format.
http://kaimi.ru/2011/07/pe-%D1%84%D0...6%D0%B8%D1%8F/
[свернуть]

Структура Screendata (FS)


Это простой, даже не архивированный контейнер. В нем, по определенной логике лежит информация (жестко записанная) - в каком каталоге должны находиться файлы этой секции
Структура UNIT ScreenData в loading.kwi:
Первый блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h))
Данные: список каталогов -> Разделитель «00h»
Второй блок:
4h первые -> Количество записей в блоке
4h вторые -> Размер блока от начала блока (в размер входят первые 4h и вторые 4h)
Данные: список имен с каталогом, содержащий последовательность
записи файлов (по порядку)-> Разделитель «00h» (индексный)
4h первые -> Размер файла
далее -> Имя файла заканчивается.
Разделитель «00h»
Третий блок:
Начало: в конце второго блока, начинается файл данных
Данные: по порядку по размеру файла как во втором блоке.
Все данные и адреса считываются ил прошивки по-байтово в обратном порядке - "ногами вперед" — Little-Endian
DWORD num_LE; // little-endian
DWORD num_BE; // big-endian
LE по умолчанию для x86 и SH4.
ScreenData на HDD - это тот же образ, что в loading.kwi, но уже развернутый в выше упомянутом каталоге
[свернуть]
[свернуть]
JRemaker

Скрытый текст

Программа JRemaker. Предназначена для редактирования прошивок от автомагнитол на базе формата контейнера файл: loading.kwi.
OS: WinCe 2.11, 3.0, 4.20, 6.0.
Разработана на основе анализа структуры LOADING.KWI - загрузчик, установленных на атомобилях MITSUBISHI - R01, R02, R03, J03, J05, N04, W11, W12.
Совместима для работы также с E-01..E-06, J-01/02/04/11, N-01, N-02, N-03, N05

Чтобы скачать JRemaker, обращайтесь в личку AS21 или по email: nick@avalr.com.ua.
[свернуть]
Расширение FM-диапазона радио

Скрытый текст

В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-модулятор, который расширит диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12.
1) MMCS среднего поколения (начиная с J-01 от 2006г. и до R-03) имеют в своем составе радиотюнер. Также его имеют MMCS последнего поколения (начиная с J-11 от 2011г. и до нынешней W-12), а предыдущее самое первое поколение MMCS не имело встроенного радиотюнера (например, на Аутлендере первого поколения), а еще более ранние назывались MDS и не имели жесткого диска вообще.
2) в различных странах различные диапазоны для FM-радио, например,
-- Европа/Россия 87..108 МГц с шагом 0,1 МГц;
-- СССР/Россия дополнительно 65,9..74 МГц УКВ;
-- Америка 87..108 МГц с шагом 0,2 МГц;
-- Япония 76..90 МГц с шагом 0,1 МГц,
соответственно, и MMCS-ы для различных регионов изначально имеют локализацию. Причем программно-аппаратную.
Один из вариантов:
----В Японии FM диапазон вещания ограничен более жестко (76...90 МГц) Для обхода этого ограничения необходимо установить FM-конвертер, который расширить диапазон до требуемого российского 108 МГц. Как правило модулятор имеет антенное гнездо и антенный выход и провод питания +12. FM-конвертер позволяет без каких-либо программно-аппаратных изменений в радиотюнере сдвинуть диапазон. Наиболее востребованы и широко применяются такие:
-- для приема УКВ на стандартном российско-европейском тюнере (87..108);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (87..108 с шагом 0,2);
-- для приема российского FM (87..108 с шагом 0,1) на американском тюнере (76..90 с шагом 0,1).
При этом на экране радиотюнера не реально отображается частота принимаемой станции.
3) если же все-таки переделывать ПО и оборудование самой MMCS, то точно нужно перепрошивать микроконтроллер, управляющий синтезатором частоты, наиболее просто это будет с адаптацией американки, т.к. диапазон одинаков (уважаемый Ежик Пых перешивал Ренесасовский NEC микроконтроллер под шаг 0,1). Для японки возможно еще дополнительно прийдется перестраивать контура в ВЧ-блоке...
[свернуть]
Адаптация NTSC ТВ к российскому ТВ

Скрытый текст

Если TV тюнер встроен в головное устройство, устанвливается дополнительный внешний тюнер.
Тюнер обеспечивает возможность приема телевизионных передач цветного изображения в системах PAL/SECAM D/K и отображение принятого сигнала на штатных NTSC мониторах автомобилей японского и американского рынков.
Такие устройства могут коммутировать сигналы формата RGB+SYNC, RGB+HSync+VSync, RGsB.
Данное устройство позволяет подключить ТВ-тюнер к навигационному дисплею автомобиля по RGB+SYNC в случае отсутствия стандартного AV-входа.
Также возможно подключать ТВ-тюнер к навигационным мониторам, где сигналы синхронизации либо формата RGB+HSync+VSync (MITSUBISHI), либо синхронизация передается в канале зеленого цвета (MITSUBISHI, BMW)
Встроенный аналоговый ТВ-тюнер имеют толаько японские варианты MMCS. Остальные редакции его не имеют. В связи с вытеснением аналогового TV цифровым DVB-(T)/T2, аналоговое ТВ скоро возможно скоро будет не актуальным"
[свернуть]
Примеры модификации loading.kwi для MMCS

Скрытый текст


Пример № 1 Руссификация японки

Скрытый текст


NR261RM.- русская голова,
NR261J11 – японская голова

Смотрим раздел Стурктура заголовка loading.kwi
Вариант №1 -> R03G:
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 3
Категория Unit №1, NR261RM.MLD.ORG
Категория Unit №2, NR261RM.Shx.ORG
Категория Unit №3, NR261RM.SCN.ORG
MLD, SHx, SCN -> ссылки на 3 адреса:
Unit №1:
118-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода
Unit №2: -> 218...
Unit №3: -> 318...

Вариант №2 -> J05 + R03G: руссификация японки
Имеет 3 Unit: 10-11 ---> 2 ------> Количество частей в Loading = 4
Категория Unit №1, NR261J11.MLD.ORG
Категория Unit №2, NR261RM.MLD.ORG
Категория Unit №3, NR261RM.Shx.ORG
Категория Unit №4, NR261RM.SCN.ORG
MLD (японский),MLD (русский), SHx(русский), SCN(русский) -> ссылки на 4 адреса:
Unit №1:
158-11B ----> 4 ------> 00 00 04 00 = (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 = (37400*2 = 6А800) В этом поле размер программного кода
Unit №2:
258-11B ----> 4 ------> 00 00 04 00 400 (400*2 =800) В этом поле стартовый адрес программного кода Unit умноженое на 2
11С-11F ----> 4 ------> 00 03 74 00 37400 (37400*2 = 6А800) В этом поле размер программного кода Unit умноженое на 2
Unit № 1 и Unit № 2 ссылаются на один адрес
Unit №3: -> 358...
Unit №4: -> 458...
[свернуть]
Пример № 2 Maintance от американки:

Скрытый текст


Программа JRemaker:
- Current - R03_G
- Donor - N03 или N04 можно попрбовать с другими версиями американки
-- Надо скопировать из донора в current следующие файлы:
1) HMIManager.exe
2) gs_hmi_string.tbl,
3) HMI.scrn
4) HMI_BMP.symb
5) can.exe
Новые возможности:
>Выбор языка при старте (при выборе языка меняется язык не только MMCS, но и язык отоббражения информации в ETAKS
> через кнопку INFO в меню появляется "тех. обслуживание" -> Maintenance - это специализированный календарь по графику технического обслуживания.
MMCS через can получает данные по maintenance и использует для некоторых расчетов для этотго графика.
В русской такой функции нет, can.exe урезанный по этим функциям соответственно maintenance не работает.
Теперь должен работает в полном объеме.
[свернуть]
[свернуть]
MMCS — Описание, характеристика

Скрытый текст


Описание

Скрытый текст


классификацию самих MMCS, можно разделить на три поколения:
-- пред-MMCS (чаще называемые MDS) были модульными и состояли из отдельных блоков: монитор, CD-радио, блок навигации, ТВ-тюнер и т.п. Жесткого диска не имели, а LOADING и карты грузились с DVD (у меня есть один такой производства Aisin под маркой Mitsubishi);
-- нулевое поколение MMCS это дальнейшее развитие MDS, но в навигационном блоке появился жесткий диск (такие устанавливались на Outlander первого поколения, производитель MELCO);
-- первое поколение MMCS это моноблочный вариант с жестким диском "все-в-одном", который в основном здесь и рассматривается (такие устанавливались на Outlander XL, производитель MELCO).
Есть 3 варианта работы MMCS с BT:
1. Не поддерживается (J-01)
2. Поддерживается старый блок - (R-01, R-02, E-01, E-02, E-03, N-02, N-03, P-01, C-01, J-02, J-03, J-04)
4. Поддержка нового блока - адресная книга, USB, BT Audio (R-03, E-04, E-05, E-06, P-02, C-02, J-05, N-05)
Известны следующие аппаратные редакции устройств.
Для японского региона:
J-01 [8750A082]
J-02 [8750A072]
J-03 [8750A141]
J-04 [8750A115]
J-05 [8750A224]
Для американского региона:
N-01 [8750A069]
N-02 [8750A142]
N-03 [8750A183]
N-04 [8750A???]
N-05 [8750A???]
Для европейского региона:
E-01 [8750A070]
E-02 [8750A143]
E-03 [8750A184]
E-04 [8750A???]
E-05 [8750A???]
E-06 [8750A???]
Для русского региона:
R-01 [8750A169]
R-02 [8750A170]
R-03 [8750A211]
Для австралийского региона (под маркой Mitsubishi, но производитель KENWOOD):
A-01 [8750A132]
A-02 [8750A???]
A-03 [8750A???]
A-04 [8750A196]
соответственно, поскольку австралийские варианты крайне экзотичны у нас и, вероятно, серьезно отличаются по архитектуре, то упомянуты для полноты перечня.
-- второе поколение MMCS это дальнейшее развитие, т.е. обновленный вариант, у которого вместо жесткого диска используется SD-карта памяти (такие устанавливаются на Outlander III).
J-11 [8750A???]
W-11 [8750A???]
W-12EU [8750A374]
W-12RU [8750A391]
[свернуть]
Характеристика

Скрытый текст


R03 и ее аналоги

Скрытый текст

• WinCe 4.2
• Процессор Renesas SH7770
• 30 Гб жесткий диск
---- R-01 Toshiba MK3029GAC
---- R-02 Toshiba MK4036GAC
---- R-03 Toshiba MK4050GAC
---- Вариант установки SSD PATA https://out-club.ru/board/showpost.p...postcount=6574
• Навигационная система double wide DIN
дисплей
----ЖК-панель Sharp LQ070 формально 7-дюймовая (реально чуть меньше, т.е. 6.95") с физическим разрешением 480×234
• Предварительно установленны европейские японские российские дорожные карты
• Touch screen полнофункциональный экран
• Регулировки Аудио кнопками руля
• 8 Гб музыкальный сервер (22 ГБ для навигации)
• Cовместима с MP3 и WMA
• DVD / CD слот
• Стандартный TMC-тюнер (ТВ-в японской версии)
• Информация бортового компьютера
• Опция пользовательских настроек систем автомобиля (открытие с пульта, освещение в дневное время, работа стеклоочистителей, индикаторы) (( в европейско-американской версии))
• Подключаются 6 динамиков стандартной системы и 9 динамиков
Rockford Fosgate
• 4 канала х 45W
• Телефонный адаптер для подключения портативного аудио оборудования
(необязательно) MZ313870
[свернуть]
W12 и ее аналоги

Скрытый текст

MMCS W-11 и W-12 устанавливается на Аутлендер третьего поколения. Типоразмер, модуль блютус , кан модуль такой же как на предыдущих моделях вместо жесткого диска появилось два гнезда для SD карт одна под навигацию другая видимо для музыки DVD диски не воспроизводит, разьемы подключения другие, чем у R-03
[свернуть]
[свернуть]
Cпецификация
[свернуть]
Сервисные инструкции к MMCS, усилителям, штатным ГУ >>>

Наличие порта DEBUG у W-серии >>>

Loading.kwi для MMCS J-11 (оригинальный) >>>

Ёжик Пых 05.12.2010 03:09

Исследование механизма работы ПО MMCS
 
Вложений: 2
Содержимое ключа, на первый взгляд ничего интересного :

https://www.out-club.ru/board/attach...1&d=1291507655

А теперь после нехитрого преобразования :

https://www.out-club.ru/board/attach...1&d=1291507655

samets 05.12.2010 12:19

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Все верно написано (товарищ из рольф-динамита, руководит отделом претензий косвено подтвердил эту инфу) по ЕГО словам существуют разные ключи - для индивидуального апдейта (черный system key MELCO-ADMIRAL) и для дилера с ограниченным числом лицензий (красный protect key MELCO-SANDA-WORKS-CU-H8000 с счетчиком до 100). Соответственно конечная стоимость для клиента будет 24 т.р.: 100 лицензий * на жадность для региона. При этом счетчик в ключе обнулятся не может - только новый комплект. Все сказанное НОВАЯ политика мицу с Н.Г. до этого подобного не было в Рашке.

Ps названия ключей условно взяты из сообщения №428 Холода, когда он выяснил их проверку в файле HMIManаger.exe

Ёжик Пых 05.12.2010 21:33

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Вложений: 2
Цитата:

Сообщение от samets (Сообщение 896653)
Ps названия ключей условно взяты из сообщения №428 Холода, когда он выяснил их проверку в файле HMIManаger.exe

Молодец, samets, глазастый! :what: ;). Имя с точностью до 3х пробелов после :).

https://www.out-club.ru/board/attach...1&d=1291573751

Правда Холод в 428 сообщении немного в другом контексте это упоминал, не суть. В этом ракурсе предложение smart007 становится более реальным, чем паять ключи.

Господа Реверсеры! Прикладываю HMIManager.exe из R03. Ковыряйте, если есть время, ищите обращения к ключу. Потом соберем LOADING и проверим.

Ёжик Пых 05.12.2010 21:56

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Продолжаю тихо сам с собою вести беседу :). Есть у MMCS соплатформенник, который ковыряют с 2006 года: http://www.vistabug.com/bb/viewtopic.php?id=2

Структура лоадинга ну очень похожа.

И вот это ничего не напоминает? http://www.navigation.com/is-bin/INT.../Default-Start

Ёжик Пых 08.12.2010 02:27

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Вложений: 1
Господа Реверсеры!
Предлагаю маленький консилиум. Или пусть нам дадут отдельную подветку, чтобы не умничали здесь.:pilot:

Было немного времени, есть мысли, давайте обсуждать. ИМХО процедура проверки ключа начинается с sub_24010.
Всё сделано через стандартные процедуры С,С++ memcpy, memcmp, memset. На картинке пример одной из подфункций, как я это понимаю. По идее нужно просчитать используя отладочные сообщения, где правильный memset и сделать туда переход. Критикуйте, предлагайте.
Я по Винде небольшой спец, поэтому, если есть системщики - вопрос: Есть в скомпилированных файлах контрольная сумма? Т.е. поменяв пару байт не будет ли упора в её проверке? Если есть, может известна методика расчета?

https://www.out-club.ru/board/attach...1&d=1291764403

P.S. Только сейчас доперло, h'28 - это смещение от начала прошивки ключа :).

Bedolaga 31.05.2011 03:39

Исследование механизма работы ПО MMCS
 
2 Alex01, мев

Большое спасибо, коллеги! В мануале к MMCS этого ничего разумеется нет :-)

---------- Добавлено в 11:44 ---------- Предыдущее сообщение было написано в 02:39 ----------

Цитата:

Сообщение от aelizov (Сообщение 1026104)
чей-то не извлекает: грит не лицензия. А как ее хакнуть я не нашел...

Я тоже маленько в ней поковырялся и точно: требует лицезию, без нее ничего не извлекает и не редактирует. Собственно об этом автор на своем сайте и пишет. Прога мало того запакована UPXом, да еще и активно использует WinAPI Crypt/Decrypt в процессе работы с файлом License.dat, который и должен содержать искомую лицезию.

Короче, кто-то ее уже сломал, получается?

heavy 01.06.2011 11:32

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Если кто-то и взломал эту программу, то она работает по открытому формату kiwi версии 1.22. Но чую, что в mmcs уже используется модифицированный или более новый формат. Что бы получить доступ к документации более новой, нужно стать членом kiwi-консорциума, что стоит не копейки и явно не каждой компании просто так дадут возможность в него войти (
Вот и дилема, стоит ли тратить время на расколупливание формата и конвертацию актуальных карт, или ждать/разрабатывать другое более модернизированное устройство...

Bedolaga 01.06.2011 15:54

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
2 heavy

Большой практической пользы от otakиной проги loadingview нет, она позволяет экспортировать или корректно заменять исполняемые файлы и ресурсы из loading.kwi. Но как я понял, здесь есть участники, которые научились это делать вручную. Но это умение не поможет конвертировать скажем навителовские карты в формат MMCS.

Меня просто взял интерес взломать этот loadingviewer.

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

Тут было бы интересно написать небольшой файлменеджер, зашить его в лоадинг, чтобы после загрузки управлять с его помощью содержимым диска без разлочивания: менять файлы, добавлять и т.п.
MMCS работает на процессоре sh4 hitachi. Компилятор для win ce в целом не фатальная проблема.

---------- Добавлено в 15:36 ---------- Предыдущее сообщение было написано в 14:54 ----------

Update:

Писать для MMCS можно на windows ce sdk + visual studio

---------- Добавлено в 15:45 ---------- Предыдущее сообщение было написано в 14:54 ----------

Как пример file manager с исходником:

http://lenacom.spb.ru/pda/filer/index.php?lng=en

Alex01 01.06.2011 19:24

Исследование механизма работы программного обеспечения MMCS
 
да, мы ждали тебя Bedolaga, верили что ты придешь! Начинай уже писать, мы будем тестить.

WhiteTiger 01.06.2011 21:21

Исследование механизма работы программного обеспечения MMCS
 
Цитата:

Сообщение от Bedolaga (Сообщение 1027868)
2 heavy

Большой практической пользы от otakиной проги loadingview нет, она позволяет экспортировать или корректно заменять исполняемые файлы и ресурсы из loading.kwi. Но как я понял, здесь есть участники, которые научились это делать вручную. Но это умение не поможет конвертировать скажем навителовские карты в формат MMCS.

Меня просто взял интерес взломать этот loadingviewer.

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

Тут было бы интересно написать небольшой файлменеджер, зашить его в лоадинг, чтобы после загрузки управлять с его помощью содержимым диска без разлочивания: менять файлы, добавлять и т.п.
MMCS работает на процессоре sh4 hitachi. Компилятор для win ce в целом не фатальная проблема.

---------- Добавлено в 15:36 ---------- Предыдущее сообщение было написано в 14:54 ----------

Update:

Писать для MMCS можно на windows ce sdk + visual studio

---------- Добавлено в 15:45 ---------- Предыдущее сообщение было написано в 14:54 ----------

Как пример file manager с исходником:

http://lenacom.spb.ru/pda/filer/index.php?lng=en

А драйвера, простите, Вы где возьмете?


Цитата:

Сообщение от Вечный (Сообщение 1028015)
Купил на японского коня FM-трансмиттер - только он оказался с тюльпанами.Где найти картинку с расшифровкой проводов на задней части MMCS? Помню что была - не могу найти....наверняка там указаны проводочки идущие с антенны.
Заранее спасибо!

Что именно надо?

к сожалению, изображение утрачено

C-141

81 ANTENNA POWER ON
82 AMP POWER ON

--------------------------------------------------------------------------------

C-144

43 CAN-BOX DATA RX
45 HFM SIGNAL (+)
46 HFM SIGNAL (-)
47 VIDEO2-IN
48 VIDEO2-R
49 SEIELD (VIDEO2-L/R)
53 AUDIO REMOTE
58 CAN-BOX DATA CLK
59 CAN-BOX DATA TX
63 SEIELD (VIDEO2-IN)
64 VIDEO2-L
65 VIDEO2 DETECT
69 SEIELD (STEERING REMO)

--------------------------------------------------------------------------------

C-143

21 BATTERY (+)
24 PS-R Sift lever <M/T, TC-SST> or selector lever <A/T, CVT>: R position
25 GND

--------------------------------------------------------------------------------

C-142

2 SPEAKER RL (-)
3 SPEAKER FL (-)
6 AMP DATA
7 SPEAKER FR (-)
8 SPEAKER RR (-)
9 MAIN GND
10 ILLUMINATION (+)
11 SPEAKER RL (+)
12 SPEAKER FL (+)
13 VSS
14 ACCESSORY (+)
15 SPEAKER FR (+)
16 SPEAKER RR (+)
17 BATTERY (+)

Это подойдет?

Ёжик Пых 01.06.2011 21:26

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1027868)

...Писать для MMCS можно на windows ce sdk + visual studio


Ещё где нибудь добыть SDK под MMCS ибо от стандартной WinCE 4.2 там мало что осталось. Например использовать стандартные обращения к Win API не получится, куски функций скомпилированы внутри .exe файлов, часть функций вызывается из kernel достаточно нестандартно, через memset и иже с ними.
Всё это в принципе ерунда, вот дизассемблировать модули можно только в виртуальной памяти, а как и всё это разворачивается в реальном режиме - узнать сильно затруднительно. Нужен дамп RAM запущеной системы...
Если это не останавливает, я только за! :)

Вечный 01.06.2011 22:33

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
WhiteTiger Объясни пожалуйста: нужен разъем 81 ANTENNA POWER ON или другие 2 провода 45 HFM SIGNAL (+)
46 HFM SIGNAL (-)? В радиоэл-ке не силен.

WhiteTiger 01.06.2011 23:20

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
HFM это вроде как расходометр. Вы конвертер FM купили?

https://out-club.ru/board/attachment...hm2zqcyxmf.jpg

Выход для антенны второй разъем внизу справа, у европеек\американок другой выход

Ёжик Пых 01.06.2011 23:41

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от WhiteTiger (Сообщение 1028138)
...HFM это вроде как расходометр. ...

Виталик! Ты чего? Это сигналы с Hands Free Module.

WhiteTiger 02.06.2011 00:09

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
А я схему куда провода идут не посмотрел, сказал от балды :)
Как то да, протупил

Bedolaga 02.06.2011 03:23

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
2 Alex01 да я пока что просто философствую :-)

2 WhiteTiger для очень простого файлменеджера нужно немного драйверов. Если мы про драйвера периферических устройств.

Точнее всего два: видео и тачскрина, чтобы вводить информацию и отображать информацию на экране. Поскольку MMCS все-таки иногда что-то на дисплее показывает и принимает команды, то скорее всего эти драйвера (или их фрагменты) в той или иной форме на MMCS присутствуют и полагаю на достаточно высоком уровне и обособленно. Поскольку MMCS умеет читать/писать/удалять файлы с диска, CD и USB, то могу предположить что какое-никакое высокоуровневое API управления файлами тоже в MMCS присутствует. И вот теперь следующий вопрос к Ёжик Пых:

Ёжик Пых,я понял, что Вы уже довольно глубоко продвинулись в анализе софта MMCS, если позволите несколько вопросов:

1) Дизасемблировали на IDA или есть что-то более специальное? Если ли у Вас физические устройства на базе SH4 типа Hitachi HPW-600ET ePlate, для баловства? Если ли эмуляторы SH4? Судя по Вашим словам, Вы анализировали только dead code?

В принципе по моему опыту (когда-то активно поламывал программы лет 15 назад) dead code analysis дает около 90 процентов успеха при надлежащем усердии. Я ведь не думаю, что в MMCS применены динамические распаковщики, противодействие декомпиляции и т.п. Все должно быть видно.

2) Я понял из Ваших слов, что много стандартных системных WinCE API вшито в исполняемый модуль навигации прямым кодом и вызвать их из другого приложения (нашего гипотетического файлменеджера) на уровне внешего API будет невозможно? Т.е. остается реконструировать эти API и написать свои библиотеки или также вписывать прямо в код приложения по аналогии со штатным исполняемым модулем? Верно?

3) У меня на теоретическом уровне довольно оптимистический взгляд на возможность MMCS jailbreak потому как все его проги открыты, операционная система все же WinCE как не крути, т.е. возможен детальный dead code analysis, как минимум. Возможность работать с файлами, тачскрином и видео на высоком уровне в MMCS скорее всего есть, нужно только аккуратно это все вычленить. Т.е. не нужно будет писать драйвера с нуля.

Т.е. это все вопрос времени и интереса. Я думаю, для начала классический проект "Hello world!" с кнопкой "ОК" внизу для MMCS представляет большой академический и практический интерес.

---------- Добавлено в 03:43 ---------- Предыдущее сообщение было написано в 02:23 ----------

Upadate:

2 Ёжык Пых не сочтите за дерзость, но если у Вас есть уже копия диска со всеми системными и исполняемыми файлами (карты мне не нужны) не могли бы Вы ими поделиться? Мне это нужно для того что бы оценить масштаб бедствия и самому понять что там доступно, а что нет. Не хотелось бы все это самому вручную из loading.kwi выдирать, а также вынимать свой диск без большой нужды.

спасибо,

---------- Добавлено в 04:15 ---------- Предыдущее сообщение было написано в 02:23 ----------

Ого, только что прочитал архив этой ветки и нашел крайне интересную информацию от cvy7:


https://www.out-club.ru/board/showpo...postcount=2074

т.о. исполняемые модули в MMCS имеют нетрадиционную для Win CE структуру. Прям ЛГБТ получается, а не MMCS :-)

Это значит, что средствами Visual Studio просто так exe-шники под MMCS не получить. ОК, но и это не фатально.

План такой:

1) из dead listingа четко вычленить основной сервис по обращению к дискам и экрану с тачскрином.
3) на основе полученных фрагментов собрать свою библиотеку этих функций.
4) скомпилировать код для своей программы, хоть и посредством Visual Studio +SDK for SH4.
2) взять любой родной работающий exe-шник и в его тело аккуратно пропатчить свой код, по возможности ничего в хидерах и точках входа не меняя.

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

heavy 02.06.2011 10:44

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
А внутри точно SH-4 или может только код под режим SH-4 скомпилирован? Поражаюсь япошкам, втюхивать проц прошлого века от сеги дримкаста... кто-то все еще надеется запустить на этом igo или навител? :D
jvc вроде тоже на этом чипе нафигацию в своих устройствах делает и тоже под windows ce, но у них такая же беда с картами - обновлений карто "по два года ждать да еще и протухшими".

WhiteTiger 02.06.2011 12:28

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
SH4

http://s60.radikal.ru/i167/1106/20/2d942f927331.jpg

melin 02.06.2011 16:28

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1027868)
Большой практической пользы от otakиной проги loadingview нет, она позволяет экспортировать или корректно заменять исполняемые файлы и ресурсы из loading.kwi.

Что, реально получилось так сделать с LoadingView ? По-моему, она этого не умеет.. Научите, если знаете?

Bedolaga 02.06.2011 16:44

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
2 melin

У меня пока не получилось. Поясню: экспорт + замена продекларирована самим автором. Я повторил его слова. Прога без лицензии это не делает. Я решил поверхностно ее поковырять пару дней, научился подсовывать, правда в ручном режиме правильный лицензионный файл. Она стала показывать, что стала лицензированной. А опции замены и экспорта все равно не открылись.
Поэтому то что выложено автором на его умирающем сайте скорее всего этого пока и не умеет. Так что Вы скорее всего правы.

Ёжик Пых 02.06.2011 18:15

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Bedolaga, ковырял я это хозяйство когда изучал общение с ключом в IDA. То что нужно я узнал, создавать ключи для обновления картографии научился. А вот по поводу AUX in motion - пока не получается, ячейки памяти гда лежит скорость а/м, положение "Р" и положение ручника нашел, а конкретный кусок кода который это отрабатывает не вижу пока. Да и времени особо нет сейчас.

Полную ОС извлеченную из Loading.kwi могу прислать Вам, скинте в личку куда.

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

Bedolaga 02.06.2011 18:33

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Ёжик Пых кульная картинка!

По поводу Aux_in_motion Вы меня сильно удивили! Я, признаться, думал что это чисто аналоговая фишка с привязкой к датчику движения или скорости. Но раз это делается программно, то конечно найдем это место, не вопрос.

---------- Добавлено в 18:20 ---------- Предыдущее сообщение было написано в 17:33 ----------

2 Ёжик Пых послал ответ в личную почту. Большое спасибо за помощь!

Bedolaga 04.06.2011 18:22

Исследование механизма работы программного обеспечения MMCS
 
Вложений: 2
Ну вот, уважаемые коллеги, хочу продемонстрировать печальный факт: могучий хацкер otaku так и не доделал свою великую утилиту loadingview до конца. Была вера, что получение лицензии раскроет все ее возможности (Export и Replace в частности), но увы она оказалась ложной.

Доказательство может получить всякий желающий: в установленную директорию "\Loading View\Bin" кидаем прилагаемый файл License.dat ( см. архив во вложении), после этого программа перестает ворчать на отсутствие лицензии (см. скриншот), но новые возможности так и не появляются.

Вывод: искать лицензии к программе Loadingview не имеет никакого смысла.

Спасибо за внимание.

Ёжик Пых 05.06.2011 17:12

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1030234)
Ну вот, уважаемые коллеги, хочу продемонстрировать печальный факт: могучий хацкер otaku так и не доделал свою великую утилиту loadingview до конца. Была вера, что получение лицензии раскроет все ее возможности (Export и Replace в частности), но увы она оказалась ложной...

Я почему то не сомневался, ибо там подводных камней оказалось достаточно. Несмотря на стандарт, B000FF там не совсем B000FF и c упаковкой в регионы не всё так гладко. Т.е. автоматизировать процесс - достаточно трудоемко, но решение есть, спасибо holod'у:
http://4pda.ru/forum/index.php?showtopic=119060

Bedolaga 05.06.2011 19:17

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Ёжик Пых (Сообщение 1030523)
Я почему то не сомневался, ибо там подводных камней оказалось достаточно. Несмотря на стандарт, B000FF там не совсем B000FF и c упаковкой в регионы не всё так гладко. Т.е. автоматизировать процесс - достаточно трудоемко, но решение есть, спасибо holod'у:
http://4pda.ru/forum/index.php?showtopic=119060

прочитал по диагонали эту эпическую ветку из 4pda.ru и по хорошему позавидовал авторам. Работа проделана огромная и чтобы просто переварить информацию в деталях мне нужны месяцы. Я PDA никогда не ковырял. Для себя понял пока одно: если вдруг что-нибудь путнее удасться сделать с модулями штатной системы, здесь есть специалисты, которые это все корректно зашьют обратно.

P.S. С интересом сейчас смотрю то, что Вы прислали.

melin 06.06.2011 11:55

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

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

У меня задачи проще:
1. починить рамку на камере заднего вида. не понятно, чего оно там считывает с CAN как тип авто и почему потом не может найти нужных файлов. хочется попатчить так, чтобы всегда определялось как XL.
2. подкинуть в image файлов с заставками от peugeot, потому как потом их на диске менять каждый раз - замучаешься. к тому же, в последней версии boot image тоже меняется в процессе прошивки и своя картинка приезжает, только если клемму скидывать.

Bedolaga 06.06.2011 14:17

Исследование механизма работы программного обеспечения MMCS
 
Цитата:

Сообщение от melin (Сообщение 1030904)
У меня задачи проще:
1. починить рамку на камере заднего вида. не понятно, чего оно там считывает с CAN как тип авто и почему потом не может найти нужных файлов. хочется попатчить так, чтобы всегда определялось как XL.
2. подкинуть в image файлов с заставками от peugeot, потому как потом их на диске менять каждый раз - замучаешься. к тому же, в последней версии boot image тоже меняется в процессе прошивки и своя картинка приезжает, только если клемму скидывать.

с удовольствием упрощу свой task list :)

сейчас немного еще поизучаю файлы от Ёжик Пых и начну отвечать в более содержательном ключе. То что можно покурочить в системе программно - покурочим.

Bedolaga 07.06.2011 12:59

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Позволю себе небольшую мутную ремарку, касающуюся технического аспекта взлома кода MMCS:

Посмотрев файлы из директории MODULES загрузчика, увидел файл с прикольным названием "jitdbgr.exe", судя по которому он должен был бы быть связан с механизмом Just In Time Debugging.

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

А это значит, что в принципе можно пытаться как-то зряче в динамике отлаживать свои наработки в MMCS используя этот модуль. Поясню:

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

Ёжик Пых 07.06.2011 16:47

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1031695)
...
Посмотрев файлы из директории MODULES загрузчика, увидел файл с прикольным названием "jitdbgr.exe", судя по которому он должен был бы быть связан с механизмом Just In Time Debugging.

Вот оно как. А я думал это с JTAG связано :).

Bedolaga 07.06.2011 18:09

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Ёжик Пых (Сообщение 1031857)
Вот оно как. А я думал это с JTAG связано :).

Убедитесь сами на примере начального фрагмента:

Код:

.text:00013A64                .export start
.text:00013A64 start:
.text:00013A64                mov.l  r8, @-r15
.text:00013A66                mov.l  r9, @-r15
.text:00013A68                mov.l  r10, @-r15
.text:00013A6A                mov.l  r11, @-r15
.text:00013A6C                mov.l  r12, @-r15
.text:00013A6E                mov.l  r13, @-r15
.text:00013A70                sts.l  pr, @-r15
.text:00013A72                add    #-h'68, r15
.text:00013A74                mov    r6, r8
.text:00013A76                mov.l  @(h'28C,pc), r4 ; [00013D04] = aStartJitdebugg
.text:00013A78                mov.l  @(h'28C,pc), r9 ; [00013D08] = _NKDbgPrintfW
.text:00013A7A                jsr    @r9 ; _NKDbgPrintfW
.text:00013A7C                nop
.text:00013A7E                mov.l  @(h'28C,pc), r4 ; [00013D0C] = aSetJitDebugger
.text:00013A80                jsr    @r9 ; _NKDbgPrintfW
.text:00013A82                nop

где NKDbgPrintfW - это штатная ВинЦе функция отладочного вывода.

Вот Вы ранее писали:

Цитата:

Нужен дамп RAM запущеной системы...
а ведь jitdbgr это фактически умеет делать, да еще при своем вызове пишет логи на "Disk2" в файл HL.TXT:

Код:


.text:00016404                mov.l  @(h'B0,pc), r4 ; [000164B8] = aLgd1
.text:00016406                mov.l  @(h'B4,pc), r3 ; [000164BC] = _CreateFileW
.text:00016408                jsr    @r3 ; _CreateFileW
.text:0001640A                mov    #0, r6
.text:0001640C                cmp/eq  #-1, r0
.text:0001640E                bt/s    loc_16448
.text:00016410                mov    r0, r8
.text:00016412                mov    #8, r3
.text:00016414                mov.l  r13, @(h'1C,r15)
.text:00016416                add    r14, r3
.text:00016418                mov.l  @(h'A4,pc), r6 ; [000164C0] = aHl_txt
.text:0001641A                mov.l  r3, @(h'18,r15)
.text:0001641C                mov    #4, r3
.text:0001641E                mov.l  r3, @(h'14,r15)
.text:00016420                add    r14, r3
.text:00016422                mov.l  r3, @(h'10,r15)
.text:00016424                mov    #h'C, r7
.text:00016426                mov.l  @(h'9C,pc), r3 ; [000164C4] = _DeviceIoControl
.text:00016428                mov    #0, r5
.text:0001642A                jsr    @r3 ; _DeviceIoControl
.text:0001642C                mov    r8, r4
.text:0001642E                cmp/eq  #1, r0
.text:00016430                bf/s    loc_16442
.text:00016432                mov    r8, r4
.text:00016434                mov.l  @(4,r14), r6
.text:00016436                mov    r14, r7
.text:00016438                mov.l  @(h'8C,pc), r3 ; [000164C8] = _WriteFile
.text:0001643A                mov    r12, r5
.text:0001643C                jsr    @r3 ; _WriteFile
.text:0001643E                mov.l  r13, @(h'10,r15)
.text:00016440                mov    r8, r4


Ёжик Пых 08.06.2011 01:01

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1031937)

а ведь jitdbgr это фактически умеет делать, да еще при своем вызове пишет логи на "Disk2" в файл HL.TXT:

Алексей, позвольте на "ты", если нет возражений ?

Этот Disk2 спокойно может оказаться RAM диском, я видел ссылки на его создание в коде. Жесткий диск система обзывает по моему HDD1, HDD2 и т.д.

---------- Добавлено в 01:35 ---------- Предыдущее сообщение было написано в 01:01 ----------

Цитата:

Сообщение от Filly (Сообщение 1032258)
уважаемые одноклубники,
живу в славном городе Саратове, кто нибудь может наладить навигацию по городу? у меня почему то нету ее....если есть желающие помочь пишите в ЛС плиз)

Читайте внимательно шапку темы и сдклайте сами. В версии карт 2010-А Саратов нарисован достаточно подробно.

Bedolaga 08.06.2011 02:50

Вложений: 1
Цитата:

Сообщение от Ёжик Пых (Сообщение 1032273)
Алексей, позвольте на "ты", если нет возражений ?

Этот Disk2 спокойно может оказаться RAM диском, я видел ссылки на его создание в коде. Жесткий диск система обзывает по моему HDD1, HDD2 и т.д.

Конечно, Дмитрий.

По поводу DSK2:
там вот какие еще фрагменты есть:

Код:


.text:00013B62                mov.l  @(h'210,pc), r4 ; [00013D74] = aDsk2
.text:00013B64                mov.l  @(h'1C0,pc), r3 ; [00013D28] = _CreateFileW
.text:00013B66                jsr    @r3 ; _CreateFileW
.text:00013B68                mov    r10, r5
.text:00013B6A                cmp/eq  #-1, r0
.text:00013B6C                bf/s    loc_13B7C
.text:00013B6E                mov    r0, r8
.text:00013B70                mov.l  @(h'204,pc), r4 ; [00013D78] = aCouldNotOpenHd
.text:00013B72                mov.l  @(h'194,pc), r3 ; [00013D08] = _NKDbgPrintfW
.text:00013B74                jsr    @r3 ; _NKDbgPrintfW
 
....
 
.text:000114B0 aCouldNotOpenHd:                        ; DATA XREF: start:off_13D78o
.text:000114B0                unicode 0, <Could not open HDD device(DSK2). STANDBY IMMEDIATE failed>

все это говорит, за то, что JIT дебаггер открывает файл на HDD для логгинга и пишет туда. Я конечно не ратую прямо вот сейчас все это ковырять, но думаю как способ делать дампы на диск и управлять процессом в динамике - это хороший, годный способ.

Update:

что радует, в MMCS режим JIT отладки включен, т.е. не нужно мучительно править и перешивать реестр, как описано здесь.

Действительно, смотрим содержимое реестра посредство loadingview (см. вложенную картинку). Режим отладки включен. Значит можно этим пользоваться.

Update2:

еще немного поковырявшись с использованием в MMCS JIT отладчика и функции вывода отладочных сообщений NKDbgPrintfW могу высказать предположение, что та маленькая дырочка с торца экрана (типа аудиоджека) это COM порт, через который в частности может проводится отладка MMCS посредством Platform Builder'a. Так-то вот.

Alex01 08.06.2011 13:31

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1032298)
По поводу DSK2:

все это говорит, за то, что JIT дебаггер открывает файл на HDD для логгинга и пишет туда.

на жестком диске есть пустой раздел, возможно он как раз для этих целей и существует..

Bedolaga 08.06.2011 13:48

Исследование механизма работы программного обеспечения MMCS
 
Я хотел вот прямо сегодня вечером проверить гипотезу о MMCS COM порте, взял уже с собой ноутбук в гараж и вдруг понял, что у меня на нем нет COM порта.

Поэтому у кого COM порт под рукой и есть немного свободного времени проделать следущий простой эксперимент:

1) Установить на свой ноутбук любой из COM sniffer'ов. Например взяв отсюда: http://easyelectronics.ru/links/oldforum/oursoft/com

2) найти кабель DB9-Female to 3.5mm Jack или спаять его самому: http://www.pccables.com/87050.htm


подключить ноутбук с установленным сниффером к MMCS и запустить MMCS. Посмотреть что там в COM порт со стороны MMCS шлется в процессе запуска, если шлется. Мне кажется туда должны как минимум слаться текстовые сообщения JIT отладчика о своей инициализации.

ну и понятно дело, если все это работает и таки serial port, можно легко сварганить эмулятор хитрого мицовского ключа для обновления карт. Это как побочный продукт.

Alex01 08.06.2011 16:27

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1032582)
Поэтому у кого COM порт под рукой и есть немного свободного времени проделать следущий простой эксперимент:

можно USB-COM переходник использовать, т.к. нынче ком-портов ни в одном ноуте не осталось :) И еще один момент - часто ком-порты в такого рода устройствах не честные, там может быть 3.3 вольта, а может быть 5, вместо 12. Честный ком-порт будет давать 12 вольт. Надо этот момент тоже не упустить, чтобы не пожечь электронику в MMCS. Видимо можно просто тестером замерить на 3.5 мм джеке напруги.

Ёжик Пых 08.06.2011 17:03

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Bedolaga (Сообщение 1032582)
Я хотел вот прямо сегодня вечером проверить гипотезу о MMCS COM порте, взял уже с собой ноутбук в гараж и вдруг понял, что у меня на нем нет COM порта....

ОТСТАВИТЬ!
Нет там СОМ порта. Это Шина I2C выведенная с М16С дисплея. Уровни TTL. Если правильный СОМ порт с +-12В и током 20 мА как по спецификации - есть шанс увалить контроллер в дислее.

Bedolaga 08.06.2011 17:09

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Alex01 (Сообщение 1032710)
можно USB-COM переходник использовать, т.к. нынче ком-портов ни в одном ноуте не осталось :) И еще один момент - часто ком-порты в такого рода устройствах не честные, там может быть 3.3 вольта, а может быть 5, вместо 12. Честный ком-порт будет давать 12 вольт. Надо этот момент тоже не упустить, чтобы не пожечь электронику в MMCS. Видимо можно просто тестером замерить на 3.5 мм джеке напруги.

Алекс, я так и поступил, не вытерпил: купил USB-COM переходник с красивым и загадочным названием Orient uss-101 в ближайшем магазине, переходник с последовательного порта на аудиоджек у меня уже был. Собрал все и подключил к MMCS. Каюсь, напряжений не мерил, спешил, понадеялся на Богородицу и Николая Угодника. И они не подвели. Вроде бы ничего не пожег. При включении зажигания ничего в порт не шлется. Сперва меня это расстроило, но потом подумал, что ядро-то уже в памяти, т.е. ждать инициализации дебагера и сообщений об этом не следует. Потом поперли пачки байтов с большой частотой. После выключения ключа зажигания несколько секунд слались байты, потом все встало. Если кому интересно, лог могу показать, но он не сильно читаемый. Важен вывод: все-таки похоже это COM. Было бы интересно, что получили другие.
Например Ёжик Пых. Я так понял, что он купил оригинальный ключ. В принципе можно было бы подсмотреть обмен.

============

Отбой. Ёжик Пых крайне не рекомендует и я ему полностью верю.

Bedolaga 08.06.2011 17:33

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Цитата:

Сообщение от Ёжик Пых (Сообщение 1032730)
ОТСТАВИТЬ!
Нет там СОМ порта. Это Шина I2C выведенная с М16С дисплея. Уровни TTL. Если правильный СОМ порт с +-12В и током 20 мА как по спецификации - есть шанс увалить контроллер в дислее.

Жуть! :what: Теперь буду знать. Но снифер как-то что-то из порта читал, тем не менее.
Дмитрий, а куда ты подсоединял ключ при обновлении карт? Я этот ключ на твоих фотографиях видел.

Фрагмент дампа, если кому интересно:

Цитата:

000001 19:59:48.218 FF
000002 19:59:49.656 FF FF
000003 19:59:51.328 FF
000004 19:59:52.890 FF FF FF FF FF FF FF FF FF FF FF FE FF DF FF FF
000005 19:59:53.578 FF F7 FF FF FF FF FF F7 FD FF FF FF FF FF FF FF
000006 19:59:53.718 FF FF FF FF EF FF FF FF FF FF BF F7 FF 7F FF EF
000007 19:59:53.765 FF DF F7 FF FE FF F5 5F FE DF FF F7 F7 EE 7F FA
000008 19:59:53.796 FF DB EF EF FF ED BF FF FF EF BF FF FF FE 2F FF
000009 19:59:53.828 FF FE BE 7F FF E7 F7 FE FF BF EF DF FD BF FF FF
000010 19:59:53.875 F7 D2 FF E7 FE FE FE F7 FF F7 FF FF EF FB FE FB
000011 19:59:53.906 FF 7F FB FF F7 FB FF FF FF 7F EB FE FF FF F5 BF
000012 19:59:53.937 FF FF D3 F7 F7 FF BF FF FF FE FF F5 BF FE FF EF
000013 19:59:53.968 FF F9 FA 7F F7 FF 6E FB FF F9 DF DF FF FB FD 7F
000014 19:59:54.000 7F 9D 7A FF DE F7 DF 6F EE FF FF B7 F3 FF F7 FB
000015 19:59:54.031 FA ED F3 FF BE 3F EF FF FF FF FF BF 7F 7F ED BF
000016 19:59:54.078 FF FE BE 7F FF 7F FF F1 FB F7 EF FF 7B FF F8 FF
000017 19:59:54.093 7F FF 75 3B FB B7 EF FF FE BF BF EB FF FF 6F F5
000018 19:59:54.125 FF FF EB FE F9 9A FE CE DE 77 EF FF FF F5 F7 FD
000019 19:59:54.156 FE FF FF FD EF F5 FF AE 2F EB BF FF FF FA FF 2A


Ёжик Пых 08.06.2011 18:47

Re: FAQ по штатной MMCS (Все вопросы в одной теме)
 
Вложений: 1
Цитата:

Сообщение от Bedolaga (Сообщение 1032751)
Жуть! :what: Теперь буду знать. Но снифер как-то что-то из порта читал, тем не менее.
Дмитрий, а куда ты подсоединял ключ при обновлении карт? Я этот ключ на твоих фотографиях видел.

Фрагмент дампа, если кому интересно:

Гы. А если скорость порта поменять ещё интересней будет :). Там запрашивается устройство с адресом А0 на шине в цикле и ждет ACK, которого нет.

https://www.out-club.ru/board/attach...1&d=1307544174


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

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