Показать сообщение отдельно
Старый 08.08.2011, 13:42   #21
AlexH
Житель Клуба
 
Имя: Alex
Авто: Outlander XL new, 2.4 CVT
Сообщений: 156
По умолчанию Re: Изменение настроек ETACS с помощью Lexia

Что удалось узнать о кодинге.

Как его добыть без мут-3 ? - пока не знаю.

Как его анализировать ?

Вся информация о всевозможных вариантах кодинга для всевозожных блоков хранится в проприетарной базе CAESAR в виде связанных списков. Процедуры работы с этой базой в файле /MUT3/…./c32s.dll. Изучение его практической пользы не принесло. Из интересного в нем, что можно раздолбать: Сжатие и кодирование файлов официальных прошивок. Формирование CRC32 для подписи спец. файлов.

Однако. Почти вся CAESAR база перенесена в MSSQL. Вот здесь-то и можно все увидеть и во всем разобраться. Для этого установи SQL Manager for SQL Server. После подключения к серверу баз данных, нас будут интересовать таблицы базы CAESARCOMDB2. А именно - таблицы CC_* (Общие таблицы кодинга) и CC_VC_* (вариант кодинг)

Тип блока и тип кодинга однозначно определяет поле SKEY. Замечу, что кодинги есть у могих блоков ECU, а не только ETAKS. Но меня интересовали только ETACS. Как однозначно связать файл кодинга и SKEY я пока не знаю, но сильно догадываюсь, а для своей мафинки я его определил просто через листинги мута. Ориентировочно, можно делать так. В таблице SKEY_EXT по названию файла CAESAR базы, определить примерно диапазон SKEY.

Использовал таблицы:
SKEY_EXT
CC_DOMAIN_PRO
CC_CONV_ASCII_MAS
CC_CONV_ENUM_MAS
CC_PREP_MAS
CC_QUAL_MAS

CC_VC_FRAGMENT_MAS
CC_VC_FRAGVALUE_MAS
VV_VC_ITEM_REF

Наиболее полный список функций кодинга в таблице CC_PREP_MAS, где SKEY – тип блока, втч. ETACS, а BLOCK_ID=25 – Coding-Coding Information, BLOCK_ID=26 – Coding-Option Coding , BLOCK_ID=27 – Customise Function

Пример расшифровки кодинга считываемго мутом (длина 40 байт ASCII)
Для ETACS 8637A313

840E3105041301086B00481D403011331D00003100205236AAA2A1002A018242F428212380800100

1. Vehicle Line (0byte) – 1 байт (84) - 3H45X
Допустимые значения
80 - 3H41
81 - 3H41EVO
82 - 3H44Z
83 - 3H44SX
84 - 3H45X
85 - 3H45W
86 - 3X45
A0 - 3R00
C0 - 3M00

2. Model Year (1byte) – 7бит в байте (0E) – 2007 год
0C - 06
0D – 06.7
0E – 07
0F – 07.5
10 – 08
11 – 08.5
12 - 09
13 – 09.5
14 - 10
15 – 10.5
16 - 11
17 – 11.5
18 - 12
19 – 12.5

3. Destination (2byte) – младшие 4бит в байте (31) (Куда поставлено) 01-EXP – экспорт
00 - DOM
01 – EXP - Экспорт
02 – NAS - Австралия
03 – EU - Европа
04 – MMAL - Америка
05 – GCC - Арабы

4. Trans Mission (2byte) старшие 4 бит в байте (31) (Вид трансмиссии) 03 – CVT

И вскрыто все до последнего бита в каждом байте. Если есть интерес опубликую все, что еще на забыл - потерял, для каждого аппаратного блока - свои особенности битовых масок. И типа если в моей железяке, для штатной сигналки только варианты стран DOM & MMAL, фиг поставишь EU. Поставить-то можно (например ситроеновским прибором), только потом возникают ошибки всяки разны.

Это я копипастнул свом промежуточные заметки по кодингу. На чичас - Типа я со всем разобрался, запрогил как мне нужно свое авто и честно уже подзабыл много, что не записал.

Также сделана проги расчета контрольной суммы, могу сбросить прогу, тока она под линуксом, а тексты че-та найти не могу, алгоритм выдран реверсом из какой-то dll в мутовых прогах, вспоминать лень, но ищеттся элементарно. Короче, думал год буду разбираться, но все заняло у меня около 2-х недель, Чичас могу делать все с етаксом, расшифровывать любые функции, и т.д. но интерес совершенно пропал, т.к. это оказалось очень прсто, а коммерческого интереса не имею совершенно.

ПЫСЫ. Пытался узнать хоть что-то у так называемых гуру. Не вышло, т.к. это в основном мохнатые дилетанты, и за свою капейку держатся мертво. В том числе и пресловутый ..., такой-же ....

---------- Добавлено в 16:02 ---------- Предыдущее сообщение было написано в 15:42 ----------

Вдогонку - приведенный файл от лексии выглядит как стандартный S-rec файл, и скорее всего образ внутреннего флеша. Файлы считываемого кодинга етакса от мута связаны с флешем не напрямую и разделены физически. В частности ксуммы во флеше и в файлах кодинга, как мне кажется должны быть разными.
AlexH вне форума   Вверх Ответить с цитированием
8 пользователя(ей) сказали cпасибо: