Перейти к содержимому


Фотография

Пытаемся разобраться с дампом от WRX приборки

WRX приборка дамп

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 348

#1 Omega_KZ

Omega_KZ

    Пользователь

  • Пользователи
  • 65 сообщений
  • Имя:ROMAN
  • ГородPAVLODAR
  • Автомобиль:FORESTER SJ XT 2016

Отправлено 31 Май 2017 - 06:48

Все доброго времени сток!

 

Я уже несколько месяцев пытаюсь разобраться с дампом от всем полюбившейся приборки WRX.

 

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

Что хочу сделать я: Создать ПО для конфигурирования дампа. В идеале пользователь указывает фал с дампом, ПО его декодирует, пользователь настраивает необходимые параметры и сохраняет дамп. Далее дамп прошивается в приборку.

 

Что достигнуто на данный момент:

  • По моим предположениям все основные параметры приборной панли хранятся в первых 3-х строках состоящих из 10 байт каждая. 

  • В каждой строке хранятся такие параметры как, модель авто, тип коробки, параметры Si-Drive, регион(страна) и куча других кастомизируемых параметров которые меняются в зависимости от модели и комплектации авто.

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

  • Контрольная сумма необходима для проверки целостности дампа и параметров.

  • Контрольная сумма при расчетах использует NOT, так как если вся строка заполнена 00 то контрольная панель запускается при контрольной сумме FF FF, и наоборот.

  • Контрольная сумма это сумма всех 8 байт в строке, но там не просто сложение. Алгоритм расчета нужно уточнять.

  • Скорее всего Контрольная сумма расчитывается для группы байт, по 2 байта так как если поменять группу из 2-х байты местами с другой группой то панель запускается.

  • Собран тестовый программно аппаратный комплекс по прошивке и проверке дампа приборной панели.

Прикрепленный файл  8a4b89s-960.jpg   148,17К   2 Количество загрузок:

Аппаратный комплекс собран из ВЭБ камеры, Арудино и 3-х Релей Шилдов (Блоков Реле), вынесенного наружу чипа EEPROM, и монтажной платы.

Прикрепленный файл  9aa4b89s-960.jpg   156,24К   1 Количество загрузок:

 

Программная часть комплекса позволяет поставить контрольную сумму для строки на перебор до последующего ее вычисления. Каждая контрольная сумма в автомотическом режиме правит дамп, записывает его в приборную панель, запускает приборку, отслеживает дисплей посредством ВЭБ камеры, фиксирует картинку дисплея, распознает показания на дисплее и сохраняет скрин с информацией о контрольной сумме в папке для дальнейшей работы пользователя.

Прикрепленный файл  f664b89s-960.jpg   142,88К   1 Количество загрузок:

 

На проверку одной контрольной суммы уходит порядка 8 сек. Таким образом за сутки вполне реально подобрать контрольную сумму для одной строки.

 

Что удалось выяснить:

Путем эксперементальных подборов контрольных сумм удалось выяснить следующие варианты:

B1-00-00-00-00-00-00-00

CRC = 4E-00 (Тут как все понятно. Делаем просто not(B1) и получаем 4E)

 

Дальше буду писать только байты. Все байты идут в порядке с начала строки, все последующие не описанные байты равны 00. Напрмер если пишу B1-27 заничит по факту проверялась строка

B1-27-00-00-00-00-00-00 и т.д.

Во всех примерах сумма байт равна FF (1111 1111)

 

Опыт №1 (B1-4E-00-00-00-00-00-00) CRC = 00-00

(Тут тоже действует правило суммы байт и применение NOT к конечному результату)

B1            : 1011 0001

4E            : 0100 1110

CRC (00) : 0000 0000

Опять таки не важно на какой позиции будут стоять байты B1 и 4E и в каком прядке следования. CRC не меняется.

 

Опыт №2 (B1-27-27-00-00-00-00-00) CRC = 0E-00

(Тут схема с суммой байт уже не работает)

B1            : 1011 0001

27            : 0010 0111

27            : 0010 0111

CRC (0E) : 0000 1110

Тут уже позиция байт играет роль. Если менять местами B1 и 27(первые) то разницы нет, так же как и перенося весь блок в другое место строки. Но стоит перенести третий байт (27) в другую позицию как CRC уже не подходит. Причем для строки B1-27-27-00-00-00-00-00 CRC = 0E-00, для B1-27-00-27-00-00 уже не подходит этот CRC, для B1-27-00-00-27-00-00-00 опять подходит.

 

 

Опыт №3 (B1-27-13-14-00-00-00-00) CRC = 2E-00

B1            : 1011 0001

27            : 0010 0111

13            : 0001 0011

14            : 0001 0100

CRC (2E) : 0010 1110

 

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

 

 

Собственно прошу помощи в поисках формулы расчета CRC, ибо моих мозгов уже не хватает. Надеюсь на то что найдется человек разбираюшийся в тебе контрольных сумм в бириборках и блока управления и натолкнет меня на нужные мысли.

 

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

 

 



#2 sk00444

sk00444

    Очень продвинутый

  • Пользователи
  • 1 357 сообщений
  • Имя:Сергей
  • Городна Урале
  • Автомобиль:Subaru XV 2.0i-S FG 2014MY

Отправлено 31 Май 2017 - 09:02

Прочитал и понял что я совсем ничего не понимаю...
Найти бы ещё пару таких голов у нас - точно бы победили !
Чем смогу помогу, но в этих байтах, формулах я не особо понимаю, лишь поверхностно... и то, когда ты объяснил )))



#3 Lumih

Lumih

    Суперстар

  • Пользователи
  • 2 063 сообщений
  • Имя:Lumih
  • ГородМосква
  • Автомобиль:Subaru XV FG "мышка"

Отправлено 01 Июнь 2017 - 12:00

:dolf_ru_264:


хочу turboXV

C343EC00.png
не говорите мне, что делать и я не скажу, куда вам идти...

Lumih.gif


#4 Omega_KZ

Omega_KZ

    Пользователь

  • Пользователи
  • 65 сообщений
  • Имя:ROMAN
  • ГородPAVLODAR
  • Автомобиль:FORESTER SJ XT 2016

Отправлено 01 Июнь 2017 - 11:08

Прочитал и понял что я совсем ничего не понимаю...

Да там по идее ничего сложного. Сам только разбераюсь.
Нехватает опыта работы с ЭБУ и Приборками.

Еше пара голов бы не помешала, это точно.

#5 Barsuk

Barsuk

    Суперстар

  • VIP
  • 3 921 сообщений
  • ГородМосква
  • Автомобиль:XV, 2.0, CD, CVT, чёрненькая

Отправлено 01 Июнь 2017 - 11:31

Ребят... в любом случае удачи!

У нас есть светлые головы. Совместными усилиями должно сработать!
Если получится, будет здорово!!!

Прикрепленные файлы

  • Прикрепленный файл  IMG_9696.JPG   63,42К   1 Количество загрузок:

4590464.png


#6 A-B

A-B

    ____________

  • Пользователи
  • 4 722 сообщений
  • Имя:Владимир
  • ГородТольятти
  • Автомобиль:XV 2.0 CVT

Отправлено 01 Июнь 2017 - 12:38


выяснить алгоритм расчета контрольной сумы
а что стандартные алгоритмы не катят?

#7 Eurolite

Eurolite

    Почти продвинутый пользователь

  • Пользователи
  • 248 сообщений
  • Имя:Борис
  • ГородДолгопрудный
  • Автомобиль:FB20 ProTurbo

Отправлено 01 Июнь 2017 - 02:45

CRC 16



#8 Eurolite

Eurolite

    Почти продвинутый пользователь

  • Пользователи
  • 248 сообщений
  • Имя:Борис
  • ГородДолгопрудный
  • Автомобиль:FB20 ProTurbo

Отправлено 01 Июнь 2017 - 02:48

А давайте лучше скинемся денюжкой и найдём в японии человека который сольёт нам прогу?))) :ph34r:



#9 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 01 Июнь 2017 - 02:49

Похожий алгоритм может применяться в электрических счетчиках Меркурий.

В инете человек Влад Русанов занимался похожими алгоритмами с расчетом контрольной суммы.

Надо поискать в инете такие алгоритмы и попробовать проверить.



#10 Omega_KZ

Omega_KZ

    Пользователь

  • Пользователи
  • 65 сообщений
  • Имя:ROMAN
  • ГородPAVLODAR
  • Автомобиль:FORESTER SJ XT 2016

Отправлено 01 Июнь 2017 - 04:12


А что стандартные алгоритмы не катят? 

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

Если посоветуете ПО через которое можно прогнать строку, буду очень признателен, может это натолкнет на нужный след.

 

Eurolite,  

CRC-16 не катит.

 

 

 


Похожий алгоритм может применяться в электрических счетчиках Меркурий

Что-то мне подсказывает что алгоритм от Меркурия не подойдет. Хотя чем черт не шутит :)

 

 

 


В инете человек Влад Русанов занимался похожими алгоритмами с расчетом контрольной суммы.

Если получится выйти на человека, который может помочь с расчетами, будет просто отлично!

 

 

 

 

 


А давайте лучше скинемся денюжкой и найдём в японии человека который сольёт нам прогу?)))

Я не против! :) Если говорить о реальных возможностях, то я бы скинулся денежкой(в разумных пределах) человеку который предоставит алгоритм. Но увы таких пока не нашлось.

Пару человек откликнулось, но просят 15000р, за то что сами рассчитают мне CRC для определенной строки. Это мне не интересно, так как какой должна быть строка я еще сам не знаю :) Да и не уверен я, в правдивости.

 

 

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

Диапазон получается равным сумме байт +/- 200 байт в разные стороны (если подбирать побайтово).


Сообщение отредактировал Omega_KZ: 01 Июнь 2017 - 04:14


#11 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 01 Июнь 2017 - 04:19

Что-то мне подсказывает что алгоритм от Меркурия не подойдет. Хотя чем черт не шутит :)

 

Вот например

https://groups.googl...gc/PlqpCmqDFAAJ

 

 

Аргоритм расчетной суммы неважно где применяется). Может похожий быть.

Прикрепленные файлы

  • Прикрепленный файл  merc_crc.txt   13,25К   6 Количество загрузок:


#12 Omega_KZ

Omega_KZ

    Пользователь

  • Пользователи
  • 65 сообщений
  • Имя:ROMAN
  • ГородPAVLODAR
  • Автомобиль:FORESTER SJ XT 2016

Отправлено 01 Июнь 2017 - 04:24


Прикрепленные файлы  

merc_crc.txt 

Посмотрел, насколько я понимаю там применяется алгоритм crc-16 MODBUS. К сожалению он не подходит.

 

Мне кажется что Япошки, на основе базового алгоритма, сделали что-то свое.

Опять таки там какой-то очень простецкий алгоритм, так как алгоритм построен на простом сложении байт, но с применением какого-то смешения при переполнении. или чего-то еще. Плюсом ко всему применяется операция NOT (скорее всего к конечному результату).



#13 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 01 Июнь 2017 - 04:28


Посмотрел, насколько я понимаю там применяется алгоритм crc-16 MODBUS. К сожалению он не подходит.

Я к тому, что надо пошарить все подобные, которые можно найти.

Можно попробовать связаться с этим человеком "Влад Русанов", у него вроде блог в инете есть.

 

А алгоритм действительно какая разница где применяется)).

 

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



#14 dmdperm

dmdperm

    Новенький

  • Новички
  • 1 сообщений
  • Город59 RUS

Отправлено 02 Июнь 2017 - 07:56

Привет. Тема интересная, и даже картинки вроде с Д2, но там эту тему не видел. И здесь бы не увидел, если бы не скинули линк доброжелатели.

Подобными изысканиями было желание заняться некоторое время назад, даже собрали флэш-приборку со встроенным СОМ-портом для перешивки без сдувания EEPROM. Но, поскольку нет четкой методологии или мурзилки по смещениям, а мартышкиным перебором заниматься быстро утомило - отлегло. По вычислению CRC на основе имеющихся данных - задам вопрос ребятам, но вряд ли подскажут.

 

В общем, постараюсь как-то быть полезным, по мере времени и возможностей. Занятно разгадать этот пазл, но ИМХО трудозатраты превышают ожидания, в новых субарах уже иные приборки, и вряд ли эта компетенция будет на 100% применима в будущем.



#15 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 02 Июнь 2017 - 10:01

Продублирую еще тут. По информации от Omega_KZ в eeprom хранится конфигурация, а сама прошивка панели зашита в процессоре. Проц NEC, программатор для него orange-5.

Получив новую инфу, начал гуглить). Нашел ребят на туарегах в Москве, которые свои приборки тоже хотели шить и у них тоже процессор NEC.
Они искали программатор Orange-5, который тоже нужен нам (программатор стоит прилично).

 

Пролистал всю тему, основные важные моменты оттуда:

 

На 20-й странице вроде им товарищ https://www.drive2.ru/users/andrey-na/ что-то делал.

здесь они собрали стенд http://www.touareg-c...3&postcount=388

 

большой пост тут http://www.touareg-c...0&postcount=494

 

первый чел у них слился
пока искали еще одного http://www.touareg-c...5&postcount=574

 

"Это немного не моя тема. Там на NEC всё сделано, я в них не очень разбираюсь.
Но судя по прошивкам sgo'шным, сами прошивки не криптованы и наверное можно разобраться. Нужен человек хорошо знакомый с NEC'ом и умеющий работать в IDA.
Я честно говоря не готов сейчас этим заниматься."(с)

 

Ищут программатор http://www.touareg-c...5&postcount=664

"нужен на несколько дней вот такой программатор (или его аналог способный работать с NEC V850ES/SJ3 V850ES/SG3 UART) — ecutool.ru/product/orange5/ "

 

программатор они нашли тут

http://www.touareg-c...4&postcount=684

"нашли программатор orange5 с программным модулем для работы с процессором NEC 850 и ещё другой для работы флеш-памятью контроллера экрана.
оба дадут в аренду за символическую плату.
работа продолжается… "

 

Все это вполне недавно и вроде еще делают.

 

Я думаю вполне можно договориться, чтобы скачать прошивку из процессора

 

А также у них написано, что какие-то успехи они получили.
Вполне мб, что закодировано у нас точно также, т.к. чип похожий NEC,


Сообщение отредактировал Slava46: 02 Июнь 2017 - 10:01


#16 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 02 Июнь 2017 - 10:03

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

И вообще пообщаться с этими товарищами, возможно у них уже есть решение.



#17 mishapost

mishapost

    Почти продвинутый пользователь

  • Пользователи
  • 193 сообщений
  • Имя:Михаил
  • ГородМинск
  • Автомобиль:Subaru XV 1.6 CVT

Отправлено 02 Июнь 2017 - 10:48

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

И вообще пообщаться с этими товарищами, возможно у них уже есть решение.

Вставлю свои 5 копеек:

Вот здесь я поднимал уже вопрос по снятию прошивки из проца: http://suba-xv.ru/in...c=3811&p=270168

Что даст информация из прошивки проца?

Чем ее дезассембривать?

Также проц наш имеет функцию защиты, где гарантия, что приборка после попытки снятия дампа не умрет?



#18 Slava46

Slava46

    Новенький

  • Новички
  • 20 сообщений
  • ГородМосква
  • Автомобиль:Subaru Forester

Отправлено 02 Июнь 2017 - 10:54


Что даст информация из прошивки проца? Чем ее дезассембривать? Также проц наш имеет функцию защиты, где гарантия, что приборка после попытки снятия дампа не умрет?

Сначала надо получить, потом думать над дизассмблером.

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

По информации, не знаю). Но что-то узнаем думаю, в процессоре может быть тот же расчет контрольных сумм.

 

И с чего вдруг процессор должен умереть при чтении через программатор фирменный? Если защиты на чтение нет.

 

Про дизассемблер выше было, например IDA.


Сообщение отредактировал Slava46: 02 Июнь 2017 - 10:59


#19 Omega_KZ

Omega_KZ

    Пользователь

  • Пользователи
  • 65 сообщений
  • Имя:ROMAN
  • ГородPAVLODAR
  • Автомобиль:FORESTER SJ XT 2016

Отправлено 02 Июнь 2017 - 11:09

Процессор имеет зашиту от чтения. Считать прошивку штатными средствами не получится.
Если мне не изменяет память по orange умеет читать нековские процы с зашитой, но не все. Надо пробовать.

#20 mishapost

mishapost

    Почти продвинутый пользователь

  • Пользователи
  • 193 сообщений
  • Имя:Михаил
  • ГородМинск
  • Автомобиль:Subaru XV 1.6 CVT

Отправлено 02 Июнь 2017 - 11:20

Мне почему-то кажется, что надо здесь в этой ветке начать делиться дампами (Хотябы первыми строками) от приборок с описанием функций авто. Т.е. надо создать типовую таблицу, в которой перечислить все опции  и отмечать в ней наличие/отсутствие той или иной функции.

 

На мой взгляд это:

1. Даст четкую картину какой байт или группа байтов, за что отвечает

2. Мы насобираем множество CRC -- возможно тогда поймем алгоритм






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных