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)

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 связано :).


Текущее время: 05:49. Часовой пояс 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