Сейчас на форуме: 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 .



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

Создано: 24 июля 2008 07:55
· Личное сообщение · #2

АХТУНГ НАХ!
Krueger пишет:
2 байта - тип блока
1 байт - способ упаковки данных (0, 1, 2, 3, FF, FE)
1 байт - размер блока (в секторах) после распаковки.
- Krueger ломает стереотипы: мое утверждение, что тип блока состоит из 4 байт выкидываем в корзину... Выходит, мы должны читать блоки как 00 12, 00 13, 00 07, 00 0В, 00 0А? Прав ли я?



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

Создано: 24 июля 2008 08:37 · Поправил: Kot_358
· Личное сообщение · #3

Чёто не пойму, пробую следовать логике записей:
ROM:00000070 00 1B 00 1C 00 1D 00 00 00 00 00 01 00 0C 00 02
ROM:00000080 00 10 00 03 00 08 00 04 00 1C 00 05 00 08 00 06
ROM:00000090 00 10 00 07 00 08 00 08 00 1E 00 09 00 18 00 0A
ROM:000000A0 00 06 00 0B 00 74 00 0C 00 06 00 0D 00 04 00 0E
ROM:000000B0 00 30 00 0F 00 08 00 10 00 08 00 11 00 3C 00 12

Предполагаю, что 0х01 имеет 0С байт в записи, 0х02 - 10 байт в записи, 0х03 имеет 8 байт, 0х04 - 1С и т.д...

Смотрю на блок 0А
ROM:00002000 00 00 04 01 00 0A 00 00 00 28 00 06 00 58 00 01 ......(..X.
ROM:00002010 00 00 00 00 00 84 00 03 00 00 00 00 00 00 00 00 .....Ä.........
ROM:00002020 00 00 00 00 00 00 00 00 00 B4 00 02 00 00 00 58 .........+....X
ROM:00002030 00 BE 02 03 00 00 00 58 00 C8 02 04 00 00 00 58 .-...X.L...X
ROM:00002040 00 C8 02 06 00 00 00 58 00 D1 02 0F 00 00 00 58 .L...X.T¤...X
ROM:00002050 00 D1 01 02 00 00 00 58 00 00 05 01 00 0C 00 17 .T...X... .
ROM:00002060 00 00 00 0B 00 00 00 16 00 00 00 21 00 00 00 2C ... ......!...,
ROM:00002070 00 84 00 02 01 F4 01 2C 03 E8 01 F4 00 01 00 00 .Ä.¯,ø¯...
ROM:00002080 00 BD 00 00 00 01 25 08 00 0C 00 01 00 34 00 B4 .-...%. ..4.+
ROM:00002090 00 01 25 08 00 18 00 02 00 3A 00 B4 00 00 00 00 .%...:.+....
ROM:000020A0 00 00 00 00 00 00 00 B4 00 00 00 00 00 00 00 00 .......+........
ROM:000020B0 00 00 00 00 73 69 6E 67 61 70 6F 72 65 00 73 69 ....singapore.si
ROM:000020C0 6E 67 61 70 6F 75 72 00 73 69 6E 67 61 70 75 72 ngapour.singapur
ROM:000020D0 00 73 69 6E 67 61 70 75 72 61 00 00 00 00 00 00 .singapura......

Вроде из выписки имеем 6 байт, хотя, я бы прочитал как "00 B4 00 02 00 00 00 58", "00 BE 02 03 00 00 00 58", "00 C8 02 04 00 00 00 58", т.е. взял бы 8 байт

Смотрю на блок 0С
ROM:00003000 00 00 06 07 00 0C 00 00 00 28 00 59 02 F0 00 37 ... ...(.Y¨.7
ROM:00003010 00 00 00 00 07 3C 02 5C 00 00 00 00 23 98 00 D6 ....<\....#Ø.ã
ROM:00003020 00 00 00 00 00 00 00 00 2D D7 00 02 2D E2 02 F0 ........-+.-ò¨
ROM:00003030 2D EC 10 02 2D E2 03 04 2E 03 10 02 2D E2 03 18 -ü-ò.-ò
ROM:00003040 2E 1A 10 02 2D E2 03 2C 2E 2B 00 02 2D E2 03 40 .-ò,.+.-ò@
ROM:00003050 2E 45 00 02 2D E2 03 54 2E 55 00 02 2D E2 03 68 .E.-òT.U.-òh
........................
........................
ROM:00005DD0 6E 69 73 73 61 6E 00 61 6E 67 20 6D 6F 20 6B 69 nissan.ang mo ki
ROM:00005DE0 6F 00 73 69 6E 67 61 70 6F 72 65 00 61 72 65 61 o.singapore.area
ROM:00005DF0 20 63 65 6E 74 72 61 6C 20 63 61 74 63 68 6D 65 central catchme
ROM:00005E00 6E 74 00 61 72 65 61 20 77 65 73 74 65 72 6E 20 nt.area western
ROM:00005E10 63 61 74 63 68 6D 65 6E 74 00 62 61 74 6F 6B 20 catchment.batok
ROM:00005E20 62 75 6B 69 74 00 73 68 61 77 00 62 65 64 6F 6B bukit.shaw.bedok
ROM:00005E30 00 67 6F 6C 64 65 6E 20 76 69 6C 6C 61 67 65 00 .golden village.
ROM:00005E40 73 65 61 74 00 62 69 73 68 61 6E 00 63 68 61 69 seat.bishan.chai
ROM:00005E50 72 6D 61 6E 00 62 6F 6F 6E 20 6C 61 79 20 70 69 rman.boon lay pi
ROM:00005E60 6F 6E 65 65 72 00 62 72 61 6E 69 20 70 75 6C 61 oneer.brani pula
ROM:00005E70 75 00 62 75 6B 69 74 20 62 61 74 6F 6B 00 62 6D u.bukit batok.bm

Вроде из выписки имеем 6 байт, хотя, я бы прочитал как "2D D7 00 02", "2D E2 02 F0", "2D EC 10 02", т .е., взял бы 4 байт...

Ничего не пойму...




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 24 июля 2008 10:13
· Личное сообщение · #4

Просьба поактивней пользоваться правкой, 5 постов подряд-это ахтунг.



Ранг: 10.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 июля 2008 10:39
· Личное сообщение · #5

Kot_358 пишет:
Не хочу огорчить тебя - в unpack, который ты дал есть баг, она все равно не доходит до конца - вываливает ошибку, но когда я ее успеваю остановить до ошибки - на смещении 2000 или 3800 она неправильно выдает размер блока, показывает 1 зону, а там их 8


какая карта? с bmwnav у меня все отрабатывает нормально

Kot_358 пишет:
Мож чё не так делал? Я в ярлычке к ней написал: "C:\Moskow Map\Recorded map\unpack_carin.exe" /carindb


я сделал вот такой батник
-------------------
<полный путь к программе>\unpack_carin.exe <полный путь к карте>\carindb>_full
-------------------
и запускаю его из папки, где лежит карта



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

Создано: 24 июля 2008 10:51
· Личное сообщение · #6

2 dJabber: что скажешь по блоку 0х12?



Ранг: 10.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 июля 2008 11:52
· Личное сообщение · #7

Kot_358 пишет:
2 dJabber: что скажешь по блоку 0х12?


по блоку 12 - щас дописываю программу, чтобы она ту таблицу, про которую говорил крюгер в читаемом виде выводила



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

Создано: 24 июля 2008 12:10
· Личное сообщение · #8

dJabber пишет:
по блоку 12 - щас дописываю программу
- пиши, дорогой, пиши, я пока что не могу предложить того же, но скоро буду на уровне, когда переверну литературу по С++. Я покуда займусь анализом ПОИ.



Ранг: 10.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 июля 2008 15:17 · Поправил: dJabber
· Личное сообщение · #9

вот тут http://rapidshare.com/files/132087948/unpack_carin.rar.html выложил обновление программки, теперь она умеет показывать версию, возможные типы блоков и размеры записей в етих блоках (взято из поста крюгера про блок 0х12). с картами с bmwnav - вытаскивает только версию, поскольку версия меньше 0х12 (см. пост крюгера)

2 Кот_358 - если опять не работает - отпиши, плз, на какой базе/карте не работает, или выложи куданить саму карту...



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

Создано: 24 июля 2008 16:35 · Поправил: Kot_358
· Личное сообщение · #10

Кросафчег!

Только, как я понял, версия не должна быть 1.1А, она просто 1А, ты берешь 8-й байт, а Krueger писал про смещение 1А, т. е. 10-й. Ты это можешь сравнить с файлом библиографии. Москву и СПБ я прочитал, на Сингапуре вылезл тот же трабл. Проверь сам. Сингапур можно взять отсюда http://www.freefile.ru/files/4649 .
Проблема визуального несоответствия, которое я описал 6-ю постами выше остается нерешенной. Таблица пишет одно, а я бы прочитал по-другому.

Это будет чрезвычайное продвижение - утвердить наше исследование про таблицу соответствия длины записей. В противном случае мы каждый раз будем видеть новую структуру...
Хотелось бы послушать мнение Krueger'а.

Я приостанавливаю работу. Завтра собираюсь выехать в Омск и прибуду обратно во вторник-среду. Если будет инет - выйду на связь, если нет - отпишу что накопал когда приеду. Всем удачи! И пожелайте ее мне на таможне



Ранг: 10.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 25 июля 2008 07:53 · Поправил: dJabber
· Личное сообщение · #11

Kot_358 пишет:
Только, как я понял, версия не должна быть 1.1А, она просто 1А

я таки думаю, что версия занимает 4 байта, начиная со смещения 0x18


Kot_358 пишет:
на Сингапуре вылезл тот же трабл


поправил - тут http://rapidshare.com/files/132281307/unpack_carin.rar.html



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

Создано: 30 июля 2008 09:33 · Поправил: Kot_358
· Личное сообщение · #12

Всем превед! Я вернулся из Омска. Продолжаю работу

dJabber пишет:
я таки думаю, что версия занимает 4 байта, начиная со смещения 0x18
- ну не знаю, залезь в библиографию, там версия 26, что в переводе на 16h равняется 1А...

Я тут в пути подумал, что каждая дорога имеет по крайней мере 2 точки определения, ну, если она не ломаная. Попробую достать карту Москвы в OZI и посмотреть улицы, а потом сравню в VDO. Подробности после обеда

dJabber пишет:
поправил трабл тут
- в чем было дело?

А где товарищ Крюгер?



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

Создано: 30 июля 2008 11:08 · Поправил: Kot_358
· Личное сообщение · #13

Kot_358 пишет:
А где товарищ Крюгер?


Он бы сейчас очень помог Меня мучает вопрос: а как быть с теми картами, таблица определения записей которых зашита в навигаторе? Их, ведь, тоже читать надобно бы... Да и с упаковкой неясно ниче...

Мои исследования на конец дня:
1. Скачал GPSMapEdit
2. Нашел Москву
3. Нашел первую улицу в карте навигатора "pravdy" ul.
4. улица имеет координаты 6 точек:

N55°46.923' E37°34.467' - это первая
N55°47.036' E37°34.611'
N55°47.067' E37°34.642'
N55°47.232' E37°34.827'
N55°47.459' E37°35.085'
N55°47.510' E37°35.085'

5. Ищу аналогию...

карта Москвы тут http://www.freefile.ru/files/4678
GPSMapEdit тут http://www.freefile.ru/files/4679/

Блоки как-то странно расположены, текстовые данные в них повторяются со слов "russia" и "moscow". Вдобавок, я еще обнаружил совсем мне непонятный блок типа 00 00 00 00. Я подозреваю, что повторения блоков - какое-то подобие масштаба. Это не может быть разложением по слоям?



Ранг: 10.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 31 июля 2008 13:57
· Личное сообщение · #14

Kot_358 Привет, как омск?

Kot_358 пишет:
dJabber пишет:
поправил трабл тут - в чем было дело?


Дело было, как обычно в различиях в форматах в некоторых типах блоков в разных версиях карты

Kot_358 пишет:
Да и с упаковкой неясно ниче...

С упаковкой пока все плохо. Единственный вариант, который могу предложить:
выдрать из блока упакованный кусок и попробовать его распаковать (ну конечно, не тупо архиватором) разными типами распаковщиков - deflate, lzh, lzw - чем щас я безуспешно и пытаюсь заниматься.



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

Создано: 31 июля 2008 14:48 · Поправил: Kot_358
· Личное сообщение · #15

dJabber пишет:
как омск?
- мне понравился, только люди амбициозные по сравнению с нашими

Что думаешь по поводу блока 00 00 00 00 ? Он высвечивается в нашем анализере...

Куда это, интересно, блок распаковывается в навигаторе? Для этого выделяется отдельная память что ли? Так ее там итак не густо...



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

Создано: 12 августа 2008 15:05
· Личное сообщение · #16

Привет, dJabber! Есть продвижения? Я бьюсь над тем, как найти встроенную таблицу 0х12 в софте навигатора. С упаковкой - мороз.



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

Создано: 11 сентября 2008 10:39
· Личное сообщение · #17

Какие продвижения у народа?


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