Сейчас на форуме: 2nd, morgot, Rio, CDK123, zds, tyns777, tihiy_grom (+5 невидимых)

 eXeL@B —› Программирование —› Процессор GPS MK3 BMW 7
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
Посл.ответ Сообщение

Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 07 ноября 2007 16:52 · Поправил: Kot_358
· Личное сообщение · #1

Проводим анализ закрытой штатной системы Carin 520 на базе BMW MK1-MK3 VDO, также используемой на рульных телегах от Peugeot, Renault, Land Rover. Заинтересованным добро пожаловать! Раскуриваем сабжи с картами Москвы и СПБ http://www.bmwnav.narod.ru а также картой Сингапура http://www.freefile.ru/files/4649 .



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 07 декабря 2007 12:52
· Личное сообщение · #2

Да неплохой сайт.
ermak.cs.nstu.ru/site/students/mps/html/motorola/4.html - хорошее простое описалово на русском.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 07 декабря 2007 14:46 · Поправил: Kot_358
· Личное сообщение · #3

А не подскажешь, дорогой, танкисту, как трассировать команды в ИДЕ и просматривать регистры со стеком? До этого юзал ОЛЮ и ее призрак до сих пор блуждает за мной приятной дружелюбностью F7 и бряками, ктр. так хорошо просматриваются Ну хоть убейте - не дается ИДА.
Цитата: Блиииин.... НУ КАКИМ МНЕ СЛОВАМИ ТЕБЕ НАДО СКАЗАТЬ ЧТО ЭТО НЕ PALM OS??? - ыыыыы ну вот такой вот я упертый баранчег - пока в ИДЕ сам не увидел слово "OS-9" - нос воротил
ЗЫ: Адресовано понятно кому - боле тут никого и не видно...



Ранг: 29.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 07 декабря 2007 15:09 · Поправил: Grom_
· Личное сообщение · #4

по менюшкам иды лазь , там вроде все понятно(типо Trace , Step или типо того, может это еще и в Debug лежит , точно не помню ).
Домой попаду получше посмотрю.

А молчат я думаю потому что:
1) нет ссылки на то чтоб попробывать .(не всем же БЕХИ для тестов искать)
2) тут в основном железное , а не РСх86-железное



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 07 декабря 2007 16:07
· Личное сообщение · #5

2Grom: Ну вот, не вижу в упор, только граф и создание процедур. Вот и скачу мышом по ним с круглыми шарами... вот ОЛЯ - это да-а-а...
ЗЫ: В бумер полезем в последнюю очередь, прошивки мы уже с ромом раскопали, а тачку будем тестить еще очень не скоро. Пока что наша задача - присобачить ром с лодеру



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 07 декабря 2007 16:09
· Личное сообщение · #6

А никак, не фиг было привыкать к дебагеру. Чистый дизассемблер, в уме все.
Учись, "придет время и тебе не нужно будет уворачиваться от пуль" (с) Матрица. В смысле поймешь что дебагер-то и не нужен.

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 85.7 (постоянный)
Активность: 0.110
Статус: Участник

Создано: 07 декабря 2007 16:22 · Поправил: Rid3r
· Личное сообщение · #7

фразу хекса, в историю

-----
Я фантомас, а ты гавно




Ранг: 72.3 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 07 декабря 2007 16:37
· Личное сообщение · #8

Kot_358, на video.reverse-engineering.net смотри видео туторы, дам есть и про embedded



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 08 декабря 2007 14:39 · Поправил: Kot_358
· Личное сообщение · #9

ЦИтата с грен ру:
Q4:Я понял(а), что существуют разные версии программного обесечения нави блоков (прошивки). Как определить какая у меня?
A4: Нажмите кнопку MENU на мониторе.
Зайдите в меню SET. В правом верхнем углу Вы увидите значение вида 3-1/63.
Первая цифра: версия нави блока (1- Мк1, 2- Мк2, 3-Мк3, 4-Мк4)
Вторая цифра: версия навигационной системы (1 - топ версия с цветным экраном, 2 - версия с монохромным экраном)
Третья цифра: версия графической компоненты (например 63 это графическая компонентаа 6.3)
На текущий момент последние версии прошивок:
- для Мк1 версия 15 (1-1/72)
- для Мк2 версия 18 (2-1/80)
- для Мк3 версия 22 (3-1/63)
- для Мк4 версия 29.1 (4-1/91) с поддержкой Perspective View и русского голосового сопровождения

У меня высветилось 1-1/71. Т.е. МК1 где то 14,5 версия. Ну чтож, беру пиво и лезу в ИДУ. Впереди 2 выходных и 2 ночи
А это нам для архива: x5world.com/articles/all-bmw/navigation/9458-bmw-navigation-system-faq.html



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 15 декабря 2007 20:42
· Личное сообщение · #10

Ты меня вдохновил на написание статьи:
xtin.activebb.net/forum-f1/tema-t38.htm

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 16 декабря 2007 05:22
· Личное сообщение · #11

Hexxx, очень толковая статья. Кста, с этим всем быстро разбираешься если работаешь в компании которая разрабатывает какой-нить embedded stuff. Вот пара мелких коментов...

Кроме JTAG отладчика есть ещё всякие разные logic analyzers которые цепляются к шине проца и ты видишь обращения к памяти, к flash, к перефирии... По поводу memory map - то что упаковано в сам чип будет в data sheet, осальное зависит от HW инженеров. Во flash обычно есть несколько образов кода... ещё есть участок flash (или eeprom) в котором загрузчик. Эта часть проецируется прямо в адресное пространство и проц начинает исполнять инструкции прямо оттуда. В загрузчике обычно есть код инициализации, там происходит config контроллера dram, и потом всего остального... В современных чипах есть PCI контроллер, и с переферией ты говоришь через PCI address space. Данные качаются используя DMA.

Ладно, чего то я растёкся мыслью... тот кто копает - сам раскопает. А остальным это всё до жёппы...



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 16 декабря 2007 11:23
· Личное сообщение · #12

Так откоментил бы прям на форуме у меня

s0larian пишет:
Кста, с этим всем быстро разбираешься если работаешь в компании которая разрабатывает какой-нить embedded stuff

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

s0larian пишет:
Кроме JTAG отладчика есть ещё всякие разные logic analyzers которые цепляются к шине проца и ты видишь обращения к памяти, к flash, к перефирии...

"Удивительное рядом, но нам оно запрещено..."

s0larian пишет:
Во flash обычно есть несколько образов кода... ещё есть участок flash (или eeprom) в котором загрузчик

Да, в последнее время любят делать Secondary Bootloader, Recovery loader и т.д.

s0larian пишет:
В современных чипах есть PCI контроллер, и с переферией ты говоришь через PCI address space. Данные качаются используя DMA.

Какие чипы считаются современными? Я PCI шины, к примеру в OMAP'ах, которые юзаются в смартах и кпк, пока не видел.

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 16 декабря 2007 22:49
· Личное сообщение · #13

Hexxx, у меня был проект с PowerPC процем на e600 ядре, так там были упакованы DRAM и PCI контроллеры. Под эту архитектуру компилит новый gcc и ессно, green hills, которые эту поддержку в gcc и добавили Вся эти кухня идёт от Motorola/freescale и они продают кучу разных вариантов для разных применений... Кста, PCI контроллер был и в более ранних версиях... не помню уже названий, я этим мало занимался.



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 17 декабря 2007 19:10
· Личное сообщение · #14

ЫЫ Цитато by сцылко: "Загрузили код и что? Cплошные db:" - вот о чем я говорил, многоуважаемый, то самое, ктр. запугивает новичка
Мое относительное молчание - тщательное пережевывание бутеров и лазанье по асму моторолы. Есть куча вопросов - отпишу, как будет время. Благодарим за статью.



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 17 декабря 2007 19:12
· Личное сообщение · #15

Кстати, у меня тоже есть адреса, ктр. уходят за пределы памяти - думал, я один такой...




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 17 декабря 2007 20:03
· Личное сообщение · #16

Kot_358, скорее всего по этим адресам в вдресном пространстве есть устройства, но это не память



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 18 декабря 2007 13:29
· Личное сообщение · #17

Быть может, быть может, спорить не буду



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 19 декабря 2007 17:16 · Поправил: Kot_358
· Личное сообщение · #18

Назревший прыщ:
Где смотрим карту памяти?
Какие адреса выставляем в ИДЕ при загрузке?
С чего мы увидели, что \MMI93\0720\mmirel - это бутлоадер. Код начинается со смещения 0xE06 (ткните носом :s1
В каких местах в ИДЕ нажимаем "С"?
Как видим список процедур типа компилера ST20 Toolset?
csb\0100\BMWC01S\app_sw\file.1 - нах он нам нужен вообще?
Предположим, наша прошва имеет последний релиз MK1. Непонятен алгоритм взаимодействия с ближлежащими файлами и обработки спутникового сигнала...



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 19 декабря 2007 20:35 · Поправил: Hexxx
· Личное сообщение · #19

Опять ты нифига не понял
Какого хрена ты берешься за компилер от другого проца?
Ты берешь компилер для своего проца, компилишь сишные примеры, которые с ним идут. Получаешь бинари. Изучаешь по полученым бинарям как выглядят начала функций, какие значения байтиков у стандартных прологов функций. Потом зная стандартные прологи, ты открываешь прошивку и начинаешь искать такие же последовательности байтов. Где находишь - там и код.

Карту памяти смотрищь на свой проц. Ссылки на даташиты я тебе уже давал.

Все остальное понятия не имею. Это тебе самому придется разобраться.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 20 декабря 2007 11:39
· Личное сообщение · #20

Да не, я за компилер уже не хватаюсь, я его привел в пример наглядности функций А вот по функциям я и хотел узнать, как их распознать, ты на мой вопрос и ответил



Ранг: 29.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 20 декабря 2007 12:18 · Поправил: Grom_
· Личное сообщение · #21

Kot_358 пишет:
Кстати, у меня тоже есть адреса, ктр. уходят за пределы памяти - думал, я один такой...

есди у тя это адреса для прыжков то :
тут 2 варианта , либо не правельно дизасмишь (у мя такое было когда я под ARM колупал , и дизасмнул команды как thumb вместо обычных длинных команд),
VVVVVVVV-----------------------------САМ НА ПРАКТИКЕ ЭТОГО НЕ ВСТРЕЧАЛ --------------------------------------- VVVVVVVV
либо я как то читал про такие хитрости как прыжки по кругу(с "переполнением") , т.е. в команде прыжка дается смещение , вверх или вниз (по адресам) , дизасм в автомате те вычисляет адрес за счет АДРЕС КОМАНДЫ + КОНСТАНТА типо 4 или 8 (БАЙТ) + СМЕЩЕНИЕ прыжка , в итоге имеем запредельный адрес, но проц понимает это дело как перемолнение, типо как переменная баЙТ = 255 +10 будет равно 10. и в обратную сторону так же. типо того .

ЗЫ это всего лишь мои наблюдения.



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 20 декабря 2007 12:27
· Личное сообщение · #22

Kot_358 пишет:
А вот по функциям я и хотел узнать, как их распознать, ты на мой вопрос и ответил

ДА? А это тогда потвоему что:

Hexxx пишет:
Получаешь бинари. Изучаешь по полученым бинарям как выглядят начала функций, какие значения байтиков у стандартных прологов функций. Потом зная стандартные прологи, ты открываешь прошивку и начинаешь искать такие же последовательности байтов. Где находишь - там и код.


-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 29.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 20 декабря 2007 13:03
· Личное сообщение · #23

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

Копирование загрузчика у тя есть ????
Если да , то Адреса НЕ ВАЛИДНЫЕ после копирования или до ?



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 20 декабря 2007 14:10
· Личное сообщение · #24

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

Копирование загрузчика у тя есть ????
Если да , то Адреса НЕ ВАЛИДНЫЕ после копирования или до ?

Забей, он еще не научился код находить. Рано ему этим мозги засорять. Когда, у него сам собой возникнет вопрос: "а нафига кусок кода копировать в RAM?" - тогда и будем рассказывать.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 20 декабря 2007 15:27
· Личное сообщение · #25

Каким образом активируем CodеWarrior?



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 20 декабря 2007 17:09
· Личное сообщение · #26

Kot_358 пишет:
Каким образом активируем CodеWarrior?

генерим лицензию



Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 20 декабря 2007 17:50
· Личное сообщение · #27

Каким образом?



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 20 декабря 2007 18:09
· Личное сообщение · #28

руками и немножко головой. ну или ищи кряк - думаю этого добра навалом



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 20 декабря 2007 18:45
· Личное сообщение · #29

В осле есть Codewarrior'ы под какие хочешь процы и с кейгенами сразу.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 67.1 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 21 декабря 2007 11:09 · Поправил: Kot_358
· Личное сообщение · #30

Пытаюсь его настроить, но постоянно пишет, что нет связи с сетями
Можбыть кто бросит в меня тупого сцылкой кея? Катастрофически не хватает времени на поиск и разборки с ослом



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 21 декабря 2007 14:46
· Личное сообщение · #31

Тогда и на взлом времени тоже нет, зачем тогда тебе напрягаться?

-----
Реверсивная инженерия - написание кода идентичного натуральному



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
 eXeL@B —› Программирование —› Процессор GPS MK3 BMW 7
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати