Распиновка иммобилайзера 98ap 19a366 ab
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Войти
Уже есть аккаунт? Войти в систему.
Последние посетители 0 пользователей онлайн
Similar Topics
Токенизированный биткоин и прочие заморозки
Разговор с самой собой . Вопрос: зачем замораживать биткойн на бирже и получать взамен токенизированный биткойн на erc-20? Ответ: наверное чтобы бирже не отдавать настоящий биткойн. Вопрос: а почему его не хотят отдавать? Ответ: наверное потому что у биржи его нет. И в правду, объем замороженных биткоинов растет, замораживает их как правило биржа которая выдает тебе взамен токены 1к1, всячески стимулируя это низкой комиссией на вывод токена. Ситуация с прочими мон
20 окт 2021, 11:51 в Общий
Вентилятор FFC1212DE и его распиновка
Доброго времени суток. Пришла такая китайская поделка, с уже перепаянными проводам под асик. Асик обороты сие чуда не видит, как следствие не работает. Сам кулер работает. Провода перепаенны так: Черный - Черный Красный - Красный Коричневый - Желтый Голубой - Синий Инфы никакой кроме этого фото с разьёмом не нашел. Подскажите можно что с ним сделать?
Все о Antminer D3 (а также Белки, А5 и прочие зверьки на Х11)
Предлагаю в этой теме обмениваться любой информацией владельцам Асиков D3, а также "Белок" и будущих Dominator A5. Настройки, специфика работы, нагрев, стабильность, пулы, профит и т.д
24 сен 2017, 12:13 в Флейм
Почему не нужны сообщества и прочие Bitcoin Foundation
Поделюсь мыслями, они кажутся очень логичными. Если биткоин — это хороший инструмент, такой как пила, молоток или ножницы, то зачем его рекламировать? Вы видели сообщество тех, кто пьёт воду из кружки? А гвозди забивает молотком? Ближе к теме, может быть вы видели клуб любителей карточек Visa? Любая попытка создать некий клуб как-то очень сильно сразу напоминает секту. Люди собираются и в стиле клуба анонимных алкоголиков по кругу лапочут: «здравствйте, меня зовут Вася и я заказываю та
Случилась вот такая проблема - при запуске двигателя он запустился на долю секунды и заглох, при последующих попытках запустить был посажен старый аккумулятор. Был куплен новый аккумулятор и новые свечи такие же как родные стояли - пробую завести - стартер крутит - эффект нулевой. Прогреваю гараж тепловой пушкой в течении двух-трех часов - не заводится - выуручиваю свечи - сухие - пробую на искру - нет искры!
Поехали на веревке на станцию - диагностика двигателя показала две ошибки:
P1610 - неккоректный ключ зажигания ЕСМ
P1611 - электронный блок управления иммобилайзером / ЕСМ некорректно закодирован
При попытках обнулить ошибки убирается Р1611, при пробах завестись - опять появляется. Т.е. такое ощущение, что он забыл свой ключь. Проверены все предохранители и антена иммобилайзера - все в порядке. Что теперь делать!? Офицальный дилерский сервис сказал, что будет делать то же самое, что я уже сделал.
Знакомые дали такой совет нужно давктивировать иммобилайдер - ставить новый контроллер и прошивать его - как это сделать? Что за контроллер? Кто возьмется его прошить? Где его брать и будет ли толк от этого?
Кто сталкивался с такой же проблемой - помогите пожалуйста, а то, как то не по себе становится от такого приговора.
Внедрение электроники в конструкцию мотора авто привело к тому, что работу двигателя контролирует электронный блок управления двигателем ECU (ЭБУ). Модули подобного типа также имеют название контроллер. Бензиновый или дизельный мотор, а также другие системы автомобиля управляются посредством специальных блоков управления. Их несколько типов и все они имеют свою схему подключения к бортовой электронике.
Электронный блок управления двигателем ведет постоянный и непрерывный обмен данными с модулями управления других систем. Потоки данных передаются по специальной CAN-шине. Посредством указанной шины реализовано эффективное объединение всех электронно-цифровых систем автомобиля, что и представляет в итоге единую бортовую сеть. Далее приводим справочник по всем самым распространённым ЭБУ.
Распиновка разъемов ЭБУ ВАЗ Январь
Схема Январь 5.1
Схема Январь 7.2
Распиновка Январь 7, BOSCH M7.9.7, М 73
Подключение К-лайн адаптера
Распиновка разъемов ЭБУ ВАЗ Bosch
Bosch 7.9.7 Январь 7.2
Модификации электронных блоков управления авто ВАЗ
Модификация седьмого января зависит от объема двигателя. Производства BOSCH блоки управления монтировались только на те автомобили, которые шли на экспорт (они удовлетворяли экостандарту ЕВРО-3). На 1,5л 8 кл. моторы оснащались такими ЭБУ:
Есть у меня знакомый, который занимается ремонтом автомобильного железа. Он как-то принес мне микроконтроллер, выпаянный из блока управления автономного отопителя. Сказал, что его программатор это не берет, а ему хотелось бы иметь возможность переливать прошивки туда-сюда, т.к. блоков много, в железе они часто одинаковые, а вот агрегаты, которыми они управляют отличаются. И вроде и блок есть взамен неисправного, но ПО разное и заменить просто так нельзя. Так как задачка была интересной, решил покопаться. Если тема интересна и вам, прошу под кат.
Подопытным оказался M306N5FCTFP. Это микроконтроллер группы M16C/6N5. Ядро M16C/60 разработано Mitsubishi, а т.к. преемником этой компании по части МК с 2003 года является Renesas, то сейчас эти микроконтроллеры известны именно под этим брендом.
Немного о самом микроконтроллере
Камешек представляет собой 16-разрядный микроконтроллер в 100-выводном QFP корпусе. Ядро имеет 1 МБайт адресного пространства, тактовая частота 20МГц для автомобильного исполнения. Набор периферии так же весьма обширный: два 16-разрядных таймера и возможность генерации 3-фазного ШИМ для управления моторами, всякие UART, SPI, I2C естественно, 2 канала DMA, имеется встроенный CAN2.0B контроллер, а также PLL. На мой взгляд очень неплохо для старичка. Вот обзорная схемка из документации:
Так как моя задача выдрать ПО, то так же весьма интересует память. Данный МК выпускался в двух вариантах: масочном и Flash. Ко мне попал, как выше уже упоминалось, M306N5FCTFP. Про него в описании сказано следующее:
- Flash memory version
- 128 KBytes + 4K (дополнительные 4K — так называемый блок А в подарок пользователю для хранения данных, но может хранить и программу)
- V-ver. (автомобильное исполнение с диапазоном +125°C)
Как вытащить из устройства то, что разработчики втащили
Вполне естественно, что начинать попытки достать что-то из микроконтроллера нужно с изучения механизмов, которые встроены разработчиком чипа для задач программирования памяти. В мануале указано, что производитель любезно разместил в памяти загрузчик, для нужд внутрисхемного программирования устройства.
Как видно из картинки выше, память разбита на 2 части: пользовательская область, и область загрузчика. Во второй как раз с завода залит загрузчик по умолчанию, который умеет писать, читать, стирать пользовательскую память и общается через асинхронный, синхронный, либо CAN-интерфейс. Указано, что он может быть переписан на свой, а может быть и не переписан. В конце концов это легко проверяется попыткой постучаться к стандартному загрузчику хотя-бы через UART… Забегая вперед: производитель отопителя не стал заморачиваться своим загрузчиком, поэтом копать дальше можно в этом направлении. Сразу оговорюсь, что есть еще способ параллельного программирования, но т.к. программатора для этого у меня не было, я не рассматривал этот вариант.
О защите от считывания
Все бы было совсем просто, если бы в загрузчике не была предусмотрена защита от несанкционированного доступа. Я просто приведу очень вольный перевод из мануала.
Функция проверки идентификатора
Используется в последовательном и CAN режимах обмена. Идентификатор, переданный программатором, сравнивается с идентификатором, записанным во flash памяти. Если идентификаторы не совпадают, команды, отправляемые программатором, не принимаются. Однако, если 4 байта вектора сброса равны FFFFFFFFh, идентификаторы не сравниваются, позволяя всем командам выполняться. Идентификатор — это 7 байт, сохраненных последовательно, начиная с первого байта, по адресам 0FFFDFh, 0FFFE3h, 0FFFEBh, 0FFFEFh, 0FFFF3h, 0FFFF7h, и 0FFFFBh.
В двух словах, q3k точно по такой же логике начал изучение с анализа потребляемого тока, в этом плане он был в гораздо более выгодных условиях, т.к. у него был ChipWhisperer, этой штукой я до сих пор не обзавелся. Но т.к. его первый зонд для снятия тока потребления оказался неподходящим и вычленить из шумов что-то полезное у него не получилось, он решил попробовать простенькую атаку на время отклика. Дело в том, что загрузчик во время выполнения команды дергает вывод BUSY, чтобы проинформировать хост о том, занят он, или готов выполнять следующую команду. Вот, по предположению q3k, замер времени от передачи последнего бита идентификатора до снятия флага занятости мог послужить источником информации при переборе. При проверке этого предположения перебором первого байта ключа действительно было обнаружено отклонение по времени только в одном случае — когда первый байт был равен FFh. Для удобства измерения времени автор даже замедлил МК, отключив кварцевый резонатор и подав на тактовый вход меандр 666кГц, для упрощения процедуры измерений. После чего идентификатор был успешно подобран и ПО было извлечено.
Первый блин — граблями
Ха! Подумал я… Сейчас я быстренько наклепаю программку к имевшейся у меня STM32VLDiscovery c STM32F100 на борту, которая будет отправлять код и измерять время отклика, а в терминал выплевывать результаты измерений. Т.к. макетная плата с целевым контроллером до этого подключалась к ПК через переходник USB-UART, то, дабы ничего не менять на макетке, работать будем в асинхронном режиме.
Когда при старте загрузчика вход CLK1 притянут к земле, он понимает, что от него хотят асинхронного общения. Собственно потому я его и использовал — подтяжка была уже припаяна и я просто соединил проводами две платы: Discovery и макетку с целевым M306.
Заметка по согласованию уровней:
Логика атакующего ПО следующая:
В итоге, для всех значений результаты были идентичны. Полностью идентичны. Тактовая частота таймера у меня была 24Мгц, соответственно разрешение по времени — 41,6 нс. Ну ок, попробовал замедлить целевой МК. Ничего не поменялось. Здесь в голове родился вопрос: что я делаю не так, как это делал q3k? После сравнения разница нашлась: он использует синхронный интерфейс обмена (SPI), а я асинхронный (UART). И где-то вот здесь я обратил внимание на тот момент, который упустил вначале. Даже на схемах подключения для синхронного и асинхронного режимов загрузчика вывод готовности назван по-разному:
В общем перепаиваем резистор на выводе SCLK с земли на VCC, припаиваем туда провод, цепляем все это к SPI и начинаем сначала…
Успех!
В синхронном режиме все почти так же, только не требуется никакой предварительной процедуры установки соединения, упрощается синхронизация и захват времени можно выполнить точнее. Если бы сразу выбрал этот режим сохранил бы время… Я снова не стал усложнять и измерять время именно от последнего бита, а запускал таймер перед началом передачи последнего байта ключа, т.е. включаем таймер и отправляем в передатчик KEY7 (на скриншоте выше, из логического анализатора, видно расстояние между курсорами. Это и есть отсчитываемый отрезок времени).
Этого оказалось более чем достаточно для успешной идентификации. Вот так выглядит перебор одного байта:
Конечно, если бы разработчик затер загрузчик (заменил своим), так просто выкрутиться не получилось бы, но в автомобильной электронике частенько МК вообще не закрыты. В частности в блоке управления с другого отопителя, в котором был установлен V850 того же Renesas все решилось подпайкой пары проводов и копированием прошивки штатной утилитой. Это в мире ЭБУ двигателем целые криптовойны. Видимо не нравится производителям явление чип-тюнинга и других видов вмешательства… Хотя это как гонка брони и снаряда — железки круче, дороже, но победителя нет…
Читайте также: