Hohlam 47 Опубликовано 24 апреля Поделиться Опубликовано 24 апреля Всем добрый день. Столкнулся с проблемой слитевшей синхронизации иммо в ЭБУ еепром 95320 Магнети Марели 7gv. Синхронизацию мне помогли восстановить, т.к калькулятора у меня на тот момент не было. Есть модуль в мд флешер по работе с этим блоком, но покупать не захотел и решил разобраться, чисто ради спортивного интереса, как все работает и по какому принципу синхра восстанавливается. Перебрав кучу дампов нашел логику и сделал калькулятор на html для ее восстановления. У меня есть в чина айпроге кальк, который читает данные с дампа, но не пишет. Захотелось на будущее решить проблему не прибегая к покупке. Оставляю кальк и логику тут может кому-то будет интересен. Вот логика: ✅ Полная схема данных синхронизации IAW 7GV (EEPROM 95320) 📍 Диапазон синхронизации 0x0E0 – 0x18E Общие правила Весь диапазон использует один и тот же XOR-ключ Весь диапазон шифруется / расшифровывается XOR Диапазон изменяется атомарно ❗ Исключение: байты 0x115 / 0x145 / 0x18F → не шифруются XOR-ключом 1️⃣ Служебный пролог 📍 0x0E0 – 0x0E5 (после расшифровки) Всегда один из вариантов: 01 00 03 00 A6 55 00 00 03 00 A7 55 XOR всех 6 байт = F1 Отличия взаимокомпенсируются Не индивидуальные данные (не MAC / CS / VIN) 🔐 Шифрование: decoded = encrypted XOR KEY encoded = decoded XOR KEY ➡ Используется ECU как флаг / статус синхронизации, а не как идентификатор. 2️⃣ Статический служебный блок 📍 0x146 – 0x15F (после расшифровки) 00 00 00 00 00 00 00 00 AA 55 00 00 00 00 00 00 00 00 AA 55 FF FF 34 00 76 55 Шифруется тем же XOR-ключом ❌ Не участвует в BLOCK CS Не содержит индивидуальных данных ➡ Используется ECU как: якорь структуры маркер валидности контроль целостности зоны 3️⃣ Иммобилайзер-блоки (3 шт) БлокАдресIMMO 10x0E6 – 0x115IMMO 20x116 – 0x145IMMO 30x160 – 0x18E Каждый блок автономен Все три обязаны совпадать ECU сравнивает их между собой 4️⃣ Формат IMMO-блока (ПОСЛЕ XOR-расшифровки) OffsetРазмерНазначение00–012LOGIN (PIN)02–032LOGIN (дубль)04–074MAC08–0D6CS0E1XOR KEY0F–1C1420 20 … (пробелы)1D–2D17VIN2E1XOR KEY (дубль)2F1BLOCK CS 5️⃣ XOR-шифрование Ключ: KEY = byte[0x0E] = byte[0x2E] Расшифровка: decoded[i] = encrypted[i] XOR KEY Шифрование: encrypted[i] = decoded[i] XOR KEY ✔ Применяется ко всему диапазону 0x0E0–0x18E ❗ Кроме байт 0x115 / 0x145 / 0x18F 6️⃣ Контрольная сумма IMMO-блока (BLOCK CS) 📍 Offset 0x2F BLOCK_CS = XOR(bytes 0x00 – 0x2E) ⚠️ Считается по зашифрованным данным ❗ Байты 0x115 / 0x145 / 0x18F не XOR-шифруются ключом чистый XOR 7️⃣ Порядок вывода (читаемый формат) MAC RAW : 04 05 06 07 SHOW : 06 07 04 05 CS ```undefined RAW : 08 09 0A 0B 0C 0D SHOW : 0A 0B 0C 0D 08 09 ➡ В дампе одно, пользователю — другое 8️⃣ Правила записи (КРИТИЧНО) ✔ Обновлять весь диапазон 0x0E0–0x18E ✔ Использовать один XOR-ключ ✔ Обновлять: 3 IMMO-блока 0x0E0–0x0E5 0x146–0x15F ✔ После записи: XOR-шифрование Пересчёт 3 BLOCK CS после шифрования без XOR-ключа для 0x115 / 0x145 / 0x18F ❌ Никаких изменений вне диапазона 7g calc 95320_ОК.html alex_ter78 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дима1 39 Опубликовано 24 апреля Поделиться Опубликовано 24 апреля Судя по тексту, это труд ИИ. Ссылка на комментарий Поделиться на другие сайты Поделиться
RAZOR85 464 Опубликовано 24 апреля Поделиться Опубликовано 24 апреля Согласен с предыдущим оратором, по мне проще пару кнопок нажать, чем вникать в этот бред. Ссылка на комментарий Поделиться на другие сайты Поделиться
Hohlam 47 Опубликовано 24 апреля Автор Поделиться Опубликовано 24 апреля Только что, Дима1 сказал: Судя по тексту, это труд ИИ. Так точно текст труд ИИ, чтоб было понятно загнал свои сумбурные объяснения в ГПТ и он все структурировал. Также ГПТ помогал писать скрипт. Без четкого ТЗ ИИ выдает ерись, поэтому все откатывал вручную и через ии отлаживал. Только что, RAZOR85 сказал: Согласен с предыдущим оратором, по мне проще пару кнопок нажать, чем вникать в этот бред. Так для пары кнопок я выложил готовый скрипт. А бред как вы выразились для тех кому интересно вникнуть. Дима1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
RAZOR85 464 Опубликовано 24 апреля Поделиться Опубликовано 24 апреля Ну молодец, что тут скажешь. Hohlam 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
lonqlife 2804 Опубликовано 24 апреля Поделиться Опубликовано 24 апреля 1 час назад, Hohlam сказал: Без четкого ТЗ ИИ выдает ерись ГПТ сказочник ещё тот. Самая неудачная модель для этой задачи. dem4enkosv87 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти