Современные штатные иммобилайзеры автомобилей обладают высокой надежностью, от откровенно проблемных конструкций наподобие инфракрасных ключей Renault Scenic производители давно отказались. Тем не менее, возможность перепрописывания чипов в них должна сохраняться – при потере ключа или покупке дополнительного записать новый чип придется в любом случае. Даже заказ ключа по вин-коду, как это обычно называют в автосалонах, сам по себе бесполезен без перепрограммирования иммобилайзера – по VIN коду изготавливается только хвостовик под личинку замка, код нового чипа уникальный.
Но, чтобы обеспечить надежность защиты от угона (не будем сейчас говорить о возможности переписать дамп иммобилайзера через диагностический разъем), перепрограммирование осуществляется с применением шифрования, привязкой к внутренней дилерской сети производителя или иным методом, затрудняющим выполнение работы «каждым желающим».
На сайте работает автоэлектрик-диагност, сертифицированный специалист StarLine. Если есть вопросы по автосигнализациям задавайте их в конце статьи в комментариях или Вконтакте.
Что такое код иммобилайзера и как он связан с вин-кодом?
Как это работает на практике? Часто применяемый способ – запрос специального уникального кода, без которого иммобилайзер не допускает свое перепрограммирование. При этом каждый автомобиль уже имеет собственный уникальный идентификатор – VIN-код. Поэтому программирование иммобилайзера может осуществляться либо с запросом уникального кода по VIN с корпоративных серверов компании (т.е. только с авторизацией официального дилера), либо код сам по себе является результатом шифрования уникального VIN-кода автомобиля.
В криптографии существует понятие хеш-функции – преобразования произвольного набора данных в формализованную строку заданной длины. Изначально закладывая «калькулятор пин-кодов иммобилайзера» в программное обеспечение центрального блока, производителю достаточно однократно прошить значение VIN в память иммобилайзера, и сверку правильности кода он сможет выполнять полностью закрыто для пользователя.
Представим гипотетический блок иммобилайзера, подключенный к диагностической шине. В автомобилестроении давно стало принятой нормой в каждом электронном блоке, присутствующем на шине, однократно прописывать VIN с целью защиты от угона «на разбор». Блок, выйдя на связь с «окружающими», не функционирует, если прописанный в нем VIN не совпадает с кодами, прописанными в остальные блоки. VIN прописывается в новом («пустом») блоке при его начальной конфигурации и даже с помощью оборудования дилерского уровня переписан быть не может.
Предположим, что блок для перепрограммирования чипов вычисляет ключ по VIN с помощью распространенной функции хеширования MD5. Обратите внимание, что в памяти контроллера нигде сам код не хранится – считать код иммобилайзера из EEPROM невозможно. Но, как только контроллер получает по диагностической шине запрос на запуск процедуры обучения ключей, он преобразует прошитый VIN согласно выбранной производителем хеш-функции. Для VIN-номера JN1WNYD21U0000001 хеш MD5 будет иметь вид 1b29a90b1c8f6ca64a8193f74a0972aa: эту последовательность символов контроллер ждёт в посылке от диагностического сканера и при любой другой откажется выполнять обучение.
Такой смоделированный нами иммобилайзер имеет высокую степень защиты: залить в него дамп от другого блока и воспользоваться прописанными в него чипами не получится, поскольку иммобилайзер заблокируется, обнаружив конфликт VIN-ов с остальными блоками. Считать код из блока снова нельзя, потому что он нигде и не записан. И где взять код иммобилайзера в этом случае без доступа к сети производителя автомобиля? Только разобравшись в машинном коде прошивки блока, «выловив» в ней алгоритм вычисления кодовой последовательности.
Как узнать код иммобилайзера. Калькуляторы кодов
Увы, в реальности мы живем в мире, где и в разы более сложная защита взламывается. Поэтому, чем старше машина, тем больше вероятность, что калькулятор кодов иммобилайзера для нее давно общедоступен или в худшем случае продается за деньги в Интернете. Ради разовой процедуры мало смысла покупать программу, проще обратиться туда, где она гарантированно есть: в частный сервис, предлагающий услуги перепрограммирования иммобилайзеров.
Сами автопроизводители часто упрощали механизм защиты, который мы описали выше. На автомобилях Renault никакой связи пин-кода программирования ключей с VIN самого автомобиля изначально не было. Пин вычислялся из серийного номера, который нанесен внутри самого ключа, и «кода типа автомобиля», указанного на наклейке кузова, с помощью программы Trantir, входившей в состав дилерского программного обеспечения… и очень быстро разошедшейся по Интернету.
Скачав программу (причем, как и все старое программное обеспечение Renault, написана она исключительно под MS-DOS, так что на современных операционных системах потребуется еще и эмулятор), достаточно ввести запрошенные данные и получить искомый код.
Если у Вас Nissan, то калькулятор кодов есть и вовсе в онлайне.
Здесь найти, где находится код иммобилайзера (точнее – «исходник» для калькулятора), без пояснений тоже не получится. На «Ниссанах» ряда моделей (увы, и этот калькулятор не универсален) пин-код рассчитывается не из VIN, а из номера BCM – бортового коммутационного модуля, который среди прочего отвечает и за считывание ключей. На корпусе блока найдёте наклейку с буквенно-цифровым кодом наподобие 284В2-ХХХХХ, где ХХХХХ – это те пять символов, которые и нужно «скормить» калькулятору. Например:
На «Фордах» (и «Маздах» на общей с ними платформе) реализован принцип incode/outcode – здесь контроллер самостоятельно формирует некоторую последовательность цифр (incode), на которую для запуска процедуры прописки ключей нужно дать корректный ответ (outcode).Принципиальной разницы с описанным выше примером расчета пин-кода через VIN нет.
А вот Kia и Hyundai описанный нами алгоритм иллюстрируют самым лучшим образом. На автомобилях, оборудованных ICM SMARTRA-3 (выпущенных с июня 2007 года), для получения пин-кода используется полный VIN автомобиля, на более старых машинах – только его последние цифры.
Ещё кое-что полезное для Вас:
- Как отключить иммобилайзер?
- Что делать, если иммобилайзер не видит ключ и не дает завести машину?
- Что такое обходчик штатного иммобилайзера?
Как ввести код
Итак, предположим, как узнать код иммобилайзера по вин-коду или как-то еще для своего автомобиля, Вы разобрались, нашли калькулятор и получили в нем пин-код. Остается последний вопрос – а как ввести код иммобилайзера, собственно говоря?
Руководствуясь теми же соображениями безопасности, уже достаточно давно автопроизводители не оставляют никаких возможностей для ввода, кроме посылок по диагностической шине. На автомобиле, выпущенном после 90-х, с наивысшей вероятностью понадобится хоть какой-то сканер. Необязательно это должен быть сканер дилерского уровня – хватает и дешевого шнурка с Aliexpress, главное – найти подходящую программу. Классическим примером здесь станет предназначенная для автомобилей VAG программа VCDS (или не менее известная ее «русифицированная» версия «Вася-диагност») с тем самым «шнурком с Али» (он же адаптер VAG K-Line).
«Вручную» же, с помощью органов управления в автомобиле, пин-код вводится редко, да и удобством это решение не отличается. Как пример приведем алгоритм разблокировки иммобилайзера в старых Renault (часто можно услышать мнение, что этот «ручной алгоритм» ввели из-за любви иммобилайзеров у них «забывать» прописанные ключи):
- включаем зажигание – при этом контрольный индикатор иммобилайзера начинает быстро моргать, указывая, что чип во вставленном в замок зажигания ключе не записан в память,
- нажимаем и удерживаем кнопку блокировки дверей, которая находится на центральной консоли,
- отпускаем кнопку спустя 2 секунды – частота моргания индикатора падает,
- отсчитываем число вспышек, равное первой цифре пин-кода, вычисленного ранее через калькулятор,
- снова нажимаем и удерживаем кнопку, повторяем такие действия для каждой цифры пина,
- выключаем зажигание, еще раз нажимаем кнопку блокировки ЦЗ,
- как можно быстрее трижды нажимаем кнопку на ключе.
Нельзя сказать, что такой способ удобен. Но и у него есть серьезный плюс – если проблемы с иммобилайзером начинаются в дороге, то, зная пин-код, владелец машины может продолжить движение достаточно быстро, не придется искать автосервис и вызывать эвакуатор. Увы, на большинстве автомобилей это будет неизбежно.
Аварийный пин-код иммобилайзеров ВАЗ
Оснастить беспроблемным иммобилайзером автомобили у тольяттинских инженеров не вышло: и изначально устанавливавшийся АПС-4, и сменивший его АПС-6 успели получить репутацию не отличающихся надежностью. Решение проблем с «забытыми» ключами в них было выбрано «не имеющим аналогов»: в программе иммобилайзера изначально предусмотрели возможность самому водителю задать личный код разблокировки, чтобы получить возможность запустить двигатель.
Пин-код здесь – шестизначный, в котором используются цифры от 1 до 9. Для задания пина используются два ключа зажигания – «рабочий» и «обучающий»:
- Выполняется штатная процедура программирования ключей зажигания, ранее нами уже описывавшаяся.
- В конце ее обучающий ключ не извлекается, а оставляется в положении «зажигание ВКЛ».
- Как только погаснет лампа Check Engine, начинается ввод кода нажатиями газа «в пол»: каждое нажатие и отпускание увеличивает введенную цифру на 1, нажатие и удержание на 5 секунд осуществляет запоминание введенной цифры и переход к вводу следующей.
Учитывая «удобство» процедуры, не стоит задавать код 999999. Обратите внимание, что при любой ошибке (например, при 10 нажатиях на педаль) все придется начинать заново с момента прописывания ключей.
Вводится пин аналогично: включаем зажигание, ждем, пока не погаснет Check Engine, затем начинаем манипуляции с педалью газа.