![]() |
Исследование механизма работы программного обеспечения MMCS
Дмитрий, я ж не виноват что у нас разница во времени 5 часов. Про скорость порта я тоже подумал :-))
А все же, куда ключик-то вставляется? (С) Буратино. |
Re: FAQ по штатной MMCS (Все вопросы в одной теме)
Ключ для обновления карт вставляется в этот самый 3.5 на торце экрана
https://out-club.ru/board/attachment...ez1gbfxhuh.gif к сожалению, изображение утрачено |
Re: FAQ по штатной MMCS (Все вопросы в одной теме)
Цитата:
Но в сети много простых схем TTL- ES-232 конверторов, т.е. возможность перехватить и затем программно эмулировать этот ключ имеется. |
Re: FAQ по штатной MMCS (Все вопросы в одной теме)
Цитата:
Дело в том, что обновление картографии возможно только с родного DVD, путем выполнения сценария с диска. Файлы там лежат упакованые в хитром формате (Пример http://rutracker.org/forum/viewtopic.php?t=3350044). Так вот, диски эти достать актуальные есть большая проблема, поэтому альтернативы съему харда и перезаписи напрямую пока нет. |
Re: FAQ по штатной MMCS (Все вопросы в одной теме)
Цитата:
|
Исследование механизма работы программного обеспечения MMCS
Согласен с предыдущими ораторами: как минимум тему с хакингом нужно выносить в отдельную. А здесь только уже законченные и проверенные результаты.
BTW, кто-то изучал уже этот кусок из AVUnit.exe?: Код:
Код:
.text:001157BC bf/s loc_1157E8 Код:
.text:001157BC bra loc_1157E8 Я понимаю что это ламерство, но а вдруг? ---------- Добавлено в 04:51 ---------- Предыдущее сообщение было написано Вчера в 14:34 ---------- 2 Ёжик Пых: Дмитрий, я тебе в почту скинул пропатченый вариант. Если будет время, силы и желание, закинь его в прошивку и попробуй посмотреть, что будет. К большому сожалению это единственный способ отладки на сегодня. Вот почему я так усердно пытаюсь понять, какие порты для связи с устройством доступны. Все же очень печально , что то был не ком порт. Найдем способ коммуникации, значит сможет нормальную отладку организовать. Иначе будет все будет наобум через модификацию кода, замену лоадинга, запись на диск, проверка на устройстве и т.д. по циклу. Надеюсь выхлоп будет стоить потраченных усилий. |
Re: Исследование механизма работы ПО MMCS
В свое время для отладки (не для производственного тестирования) на платах были спец. контакты или колодки (jtag вроде именовали), как правило не распаянные в производтсвенной модели, может и тут что-то подобное имеется...
Интересно на чем отлаживают код разработчики, имхо не на живой голове, а на железке типа "ренесанса" или софтовом эмуляторе, но у меня в свое время не удалось виртуалку под sh4 запустить нормально =( Но кто-то вроде писал (сейчас не уверен что именно про mmcs, возможно про другую kiwi-систему, что пакет собран для работы с несколькими различными платформами одновременно, может наш тоже? Но вообще странная штука, что за столько лет так и не утекла из недр восточных разработчиков ни одна версия kiwi редактора... но как-то даже натыкался на резюме одного из разработчиков, кто приводил в пример что разрабатывал эту систему. |
Re: Исследование механизма работы ПО MMCS
Цитата:
У этого факта есть 2 стороны: 1) плюс: много полезной информации компилятор оставляет в теле исполняемого модуля. Там есть потрясающие строки вида " А вот сейчас мы запретим показ DVD в движении". Причем строки хранятся недалеко от кода, как это и положено при компиляции объектов :biggrin: Именно поэтому относительно легко удается грохнуть этот запрет с DVD, особенно не парясь с трассировкой кода. 2) минус: крайне затруднено восстановление программной логики, поскольку очень много вызовов процедур не по прямым адресам, а косвенно через относительные смещения к неивестным из мертвого листинга адресам (которые видимо являются ссылками на объекты исходного текста ООП). И мертвый код анализировать становится трудно. Это плата за удобство концепции ООП для разработчика. На интелсовместимых платформах, я даже спустя 15 лет перерыва могу по ассемблерному коду легко вернуть все в С. Легко понять вызовы процедур и какие параметры при этом передаются. На SH-4 у меня таких навыков нет, поэтому это все время. Если кто обладает знаниями по стандартной структуре ассемблерного кода SH-4, в который компилируются высокоуровневые вызовы процедур и функций хоть на CPP хоть на C#, буду признателен за краткую информацию. Что касается отладки: свой небольшой отладчик в MMCS загружен, можно пытаться его слегка переписать, чтобы он выводил на экран устройства или в файл нужную информацию. Но что бы его переписать и отладить нужно большое количество циклов: модификация кода --> модификация loading.kwi --> запись на HDD --> запуск на устройстве ---> анализ результата --> модификация кода --> ... и далее по циклу. Все прозаично но муторно и долго. А альтернативой является интуитивное и несистематическое тыканье в разные места кода на удачу и проверка что получилось. Тоже вариант, но менее предсказуемый. |
Re: Исследование механизма работы ПО MMCS
В эту тему буду выкладывать ссылки на полезную информацию, связанную с SH4 архитектурой. Нашел очень важный документ SH-4 Generic and C Specific ABI, маленько раскрывающий особенности вызовов функций и соглашения по передаче параметров при этих вызовах. Собственно нечто подобным я и просил поделиться почтеннейшую публику постом выше.
|
Re: Исследование механизма работы ПО MMCS
когда будет "Hello World" для тестирования? :)
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Bedolaga, по поводу Вашей идеи с DVD, не сказать чтобы ничего не получилось, получилось несколько не то :).
Пересобрал Loading и опробовал. Если раньше при начале движения выскакивала надпись "Не отображается при движении" на синем фоне, то теперь при начале движения экран становится полностью черным и восстанавливается при остановке. |
Re: Исследование механизма работы ПО MMCS
Цитата:
такие результаты это скорее норма при взломе вслепую. Буду много думать. Напишу соображения чуть позже. Спасибо Дмитрий что нашел время на эксперимент. ---------- Добавлено в 13:41 ---------- Предыдущее сообщение было написано в 03:30 ---------- Буду делиться своими соображения порционно, по мере появления, если не против. Получается пропатченый нами условный переход обходит фрагмент, который просто выводит на экран устройства надпись о запрете показа при движении, но сам запрет очевидно происходит где-то раньше. Это не ахти какой результат, но он хотя указывает на один из параметров, которые отвечают за этот запрет. Вывод надписи, получается, происходит если r5 == 1. Причем, выше в процедуре loc_115798 значение регистра r5 нигде не устанавливается, т.е. оно фактически передается при вызове. Значит нужно искать место, откуда вызывается эта процедура. Возможно там содержится код, устанавливающий этот признак r5==1. И вот тут возникает основная проблема: как узнать адрес кода, вызывающего процедуру loc_115798? С отладчиком это было бы тривиальной задачей: посмотрел бы в стек или содержимое регистра PR (Return address). Но с мертвым листингом это недоступно. И как теперь? IDA выдает единственную ссылку на loc_115798: DATA XREF: .data:001926C4 т.е. это место в какой-то таблице, в которой и хранится адрес нашей процедуры. Значит ее вызов осуществляется где-то косвенным путем, через смещение data:001926C4 от начала этой загадочной таблицы. В мануале, ссылку на который я приводил, описывается техника вызова функций через смещения в Глобальной Таблице Смещений (GOT). Видимо и здесь также. Нужно только подходящую таблицу найти. У меня вот кандидатура: Код:
теперь можно тупо поискать по листингу обращения к функциям с использованием смещения h'4AC. Их там порядком будет, но поппадаются и очень похожие на то, что нужно: Код:
|
Re: Исследование механизма работы ПО MMCS
Похоже на правду. За мануал спасибо, действительно начинаешь думать как компилятор :).
Я попробую вот так, по наглому : Код:
.text:0010278E loc_10278E: ; CODE XREF: .text:00102782 ---------- Добавлено в 23:11 ---------- Предыдущее сообщение было написано в 23:06 ---------- Цитата:
|
Re: Исследование механизма работы ПО MMCS
[QUOTE=Ёжик Пых;1037974]
Я попробую вот так, по наглому : Код:
.text:0010278E loc_10278E: ; CODE XREF: .text:00102782 В общем задача: четко понимать через какие таблицы смещений происходят вызовы процедур - очень актуальна, она позволит без лишних экспериментов восстановить программную логику. А я тем временем внимательно посмотрю те процедуры, которые ты заколотил, чтобы лучше понять логику, которая запрещает просмотр. |
Re: Исследование механизма работы ПО MMCS
Цитата:
А вот ячейки памяти, где всё это живет, если не ошибаюсь (смещения 6B, 6C, 6D от R0 с учетом шифта в лево на 2 - 1AC, 1B0, 1B4) : Код:
.text:00021EB0 mov #h'6B, r3 ; Move Immediate Byte Data |
Re: FAQ по штатной MMCS (Все вопросы в одной теме)
Цитата:
Правда есть варианты что еепром будет какой-нибудь чудестный(типа как в катриджах Xerox90 или XC01) со стандартным I2C,но со всякими хитрыми защитами.В таком случае придется писать эмулятор. |
Re: Исследование механизма работы ПО MMCS
Согласен, судя по строковому шаблону, который используется в заглушенных процедурах:
Код:
---------- Добавлено в 20:15 ---------- Предыдущее сообщение было написано в 19:31 ---------- В дополнение, я попытался поискать по листингу шаблон возможных обращений к этим адресам, предположительно хранящих эти параметры. Например для "side_brake": это может быть строка "mov #h'6B, r3", а далее рядышком должно быть такое: Код:
так вот, после непродолжительных поисков находим аккурат содержимое одной из процедур, которую ты заглушил: Цитата:
---------- Добавлено в 20:23 ---------- Предыдущее сообщение было написано в 19:31 ---------- Оппа! Вот очень подозрительные манипуляции с этими адресами (sie_brake и tv_park): Код:
Все, можно идти спать. |
Re: Исследование механизма работы ПО MMCS
Bedolaga, перепробовал кучу вариантов, нашел c твоей подсказкой альтернативный метод DVD in Motion, AUX не сдается :wall:
Все Park->Run относятся только к DVD. Вместо 3х заглушек, ставим одну: Код:
Код:
|
Re: Исследование механизма работы ПО MMCS
Дима, в MMCS в разделе Vehicle Signal Check есть данные от 3 сенсоров: Speed, ILL, Shift R Position. Последнее это понятно задняя передача, ILL - Illumination активируется при включении ближнего света, а этот пресловутый Speed становится On при наборе скорости в 6 км\ч, тогда же блокируются и DVD и AUX. Может это тебе как то поможет.
|
Re: Исследование механизма работы ПО MMCS
2 Ёжик Пых
Большое спасибо за практические испытания! То что все глушится одним патчем вместо трех это здорово, с одно стороны упрощает локализацию критического участка кода, а с другой - указывает на хитроумие потомка самураев - Отаку. Ему замена лишь четырех байтов показалась слишком банальной, вероятно :-) Я тоже хочу поделиться аналогичными отрицательными результатами. Эти три флага используются только в блоке ДВД. Я прошерстил все явные обращения к этим адресам и все они связаны с модулем управления ДВД. И да: это флаг: 0 или 1, не более. В связи с этим вопрос: а что появляется при попытке показа с AUX? Появляется заставка о запрете в движении таже что и в ДВД или все-таки что-то другое? Я к тому, что AUX точно программно управляется? Прошу прощения за назойливость, конечно. Я же сейчас прорабатываю вот какую идею: изменение статуса движения авто является event (событием) и должно обрабатываться специальным обработчиком - участком кода обработки события. Здесь принцип тот же, классический что и при обработке прерываний от внешних устройств. Возникает event ("событие", "исключение", "прерывание" и т.п.). Вот ищу сейчас участки кода, которые возможно включаются при изменения статуса движения. Как пример кандидатуры: Код:
.text:00021748 off_21748: .data.l aDocarsiginfoev ; DATA XREF: .text:00021722r |
Re: Исследование механизма работы ПО MMCS
Цитата:
https://out-club.ru/board/attachment...jjnbqewymy.jpg Тут хоть с обработки SoftKey AUX начинай. Ещё бы знать как этот обработчик в коде выглядит :what:. |
Re: Исследование механизма работы ПО MMCS
Можно походу ещё пару задач озвучу,думаю не только мне интересных?
1.слить воедино европейские и русские карты. 2.Добавить в американский лодинг кирилицу,дабы у владельцев американок на русских картах название улиц/городов нормально отображалось. По теме : на 13 пин приходит сигнал VSS ,со спидометра насколько я помню, может стоит начать не с софткей аукс а с функций активизируемых данным сигналом, ведь при перерезании провода, аукс в движении начинает работать,но нави также завязана на этом сигнале. Не знаю насколько сложно найти его программно ,но как вариант. |
Re: Исследование механизма работы ПО MMCS
Цитата:
2. Вот это реально, но надо делать немного не так. Нужен американский лоадинг с русским Navi.exe, чтобы поиск и т.п. работали адекватно. Для начала AUX бы победить... |
Re: Исследование механизма работы ПО MMCS
Если будут тестовые лодинги готов пробовать :)
сам неосилю, пробовал находить блоки с лодингвьевера и редактировать нех-редактором на совпадений не находит, дальше знаний не хватает :( |
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
свой XL купил в АвтоМире г.Хабаровск, на первом и втором т.о. трёс и крутил дилеров на карты навигации, кроме "хрю-му" ничего в ответ не получил. сказали, что как закачать карты ещё не придумали. кто-нибудь может подсказать что-нибудь конкретное? почитал форум и понял, что половины не понял написанного. сильно увечить авто не хочется. тут Доки разковыривают до болтика)))
|
Re: Исследование механизма работы ПО MMCS
Зайди в соседнюю тему про MMCS - там в шапке описано как новые карты загрузить на винчестер.
|
Re: Исследование механизма работы ПО MMCS
Попробую привлечь для решения японской головоломки еще специалистов :)
|
Re: Исследование механизма работы ПО MMCS
SuperH™ (SH) 32-Bit RISC MCU/MPU Series SH7750
High-Performance RISC Engine Programming Manual http://mc.pp.se/dc/files/h14tp003d2.pdf SH-4 Hardware Manual Preliminary http://mc.pp.se/dc/files/h14th002d2.pdf CodeWarrior SH Assembler Reference & Dreamcast SH4 Cross Assembler http://www.dc-swat.ru/download/doc/S...ng_manuals.exe |
Re: Исследование механизма работы ПО MMCS
Ёжик Пых и Bedolaga, а как вы в образ Windows CE заливаете модифицированные файлы и чем собираете потом loading.kwi? Если это не секрет, поделитесь плиз...
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
й
Цитата:
Прямые ссылки без регистрации на 4pda не работают. Как выход можно указывать разделы и названия тем + № постов или ключевые фразы для поиска. |
Re: Исследование механизма работы ПО MMCS
Да с открытого профиля пустило. Хе. Читать там немало нужно.
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Re: Исследование механизма работы ПО MMCS
Цитата:
|
Текущее время: 12:58. Часовой пояс 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