Вопрос

Как лучше всего провести реверс-инжиниринг сигналов CAN-шины?

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



Меня интересуют аппаратные и программные средства, используемые для распознавания сигналов CAN.



Есть ли у кого-нибудь опыт?



Спасибо!



P. D.: было бы неплохо, если бы на этом сайте был тег «реверс-инжиниринг» :-)



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/6027/what-is-the-best-way-to-reverse-engineer-the-signals-of-a-can-bus

5 Комментариев

  1. Хотя это может быть отличным вопросом для сайта реверс-инжиниринга, который находится на стадии бета-тестирования, я выскажу своё мнение.



    Варианты оборудования



    1) Они создают аппаратный интерфейс ODB II <==> UART, который предоставит вам последовательный доступ к вашим сигналам CAN. Вы можете эффективно считывать и записывать сигналы на шину.



    2) Существуют такие платы, как автомобильная информационно-развлекательная система SABRE от Freescale, которая представляет собой одноплатный компьютер с чипом CAN на борту. Эта плата работает под управлением Linux и пользуется широкой поддержкой сообщества.



    Параметры программного обеспечения



    1) Я расскажу о программном обеспечении для Linux. Основным вариантом для Linux и CAN является SocketCAN. SocketCAN использует сетевой стек ОС для связи с шиной CAN. Это привлекательно по нескольким причинам, в том числе тем, что несколько приложений в пользовательском пространстве могут читать и записывать данные на шину (как и в случае с протоколом TCP/IP). Документация по ядру оказалась очень полезной.



    Существует тестовое программное обеспечение под названием cantest и candump, которое показывает, что принимается по шине. Лучший способ обратного проектирования сигналов — поэкспериментировать с некоторыми функциями автомобиля и найти повторяющиеся сигналы, например, нажав кнопку кондиционера (например) и поискав повторяющиеся сигналы на шине. Диагностические коды можно найти в Google или в руководстве по ремонту, так что это не составит труда.


  1. Большое вам спасибо, @MDMoore313. Это именно то, на что я надеялся. Я собираюсь проверить программу, о которой вы мне рассказали, может быть, она будет работать и на Mac.
  1. Думаю, такую информацию можно купить. Попробуйте etools.org. 5000 долларов за вступление, 2500 долларов за информацию.
  1. @BrianKnoblauch, можно ли купить такие документы для OEM-производителей?
  1. Единственные знакомые мне ребята, которые работали с CAN-шиной, заняты в этой отрасли и не занимаются реверс-инжинирингом. Они просто читают проектную документацию и реализуют то, что им нужно...
Вы уже ответили на этот вопрос