CAN-Hacker Bomber ®

Теперь весь функционал CAN-Hacker Bomber ®  интегрирован в наше новое программное обеспечение CARBUS Analyzer.

 

 

Иногда нужно быстро выяснить какой пакет в CAN шине за какую функцию отвечает, если протокол обмена не стандартизирован то сделать это достаточно сложно и долго по времени. Или другая ситуация: Мы имеем от автомобиля только панель приборов и хотим выяснить какой пакет отвечает, например, за индикацию скорости автомобиля или за угол поворота стрелки тахометра.  Не имея автомобиля целиком нам будет сложно это узнать.  Мы задались целью облегчить процесс поиска пакетов в CAN шине и определения их назначения.

Результатом решения этой задачи стала простая утилита CAN-Hacker Bomber ®
которая позволяет изучить CAN шину методом спуфинга или перебора.

Суть метода заключается в том что Bomber посылает  пакет с любыми пользовательскими данными в заданном диапазоне ID.  ID могут быть как 11 так и 29 битные.

Кроме того CAN-Hacker Bomber способен работать в двух режимах:

  1. ID Counter – режим инкремента ID. Каждый последующий пакет будет на 1 больше предшествующего
  2. Data counter – режим инкремента данных. В этом режиме ID не изменяется, но изменяются выбранные байты пакета.

 

 

Работать с программой просто:

  1. Подключаем CAN-USB адаптер к CAN шине и USB нашего компьютера
  2. Выбираем COM порт и жмем Connect
  3. Выбираем скорость CAN шины,  нажимаем Open CAN
  4. Установим флаг RX Enable, чтобы видеть приходящие пакеты
  5. Если на CAN шине есть активность и правильно определена ее скорость – мы увидим передаваемые данные
  6. Для запуска перебора пакетов в режиме инкремента ID выбираем диапазон ID, для начала лучше от 000 до 700 если вы работаете в сети с 11 битными ID.
  7. Задаем количество пакетов передаваемых за один шаг в поле Msg per Step,  для первого прохода рекомендуем ставить 5
  8. Заполняем тело пакета данными. Если мы хотим сделать все значения одинаковыми,то запишем нужное значение в поле Value и нажмем Fill Data, для первого прохода рекомендуем записать FF
  9. Выставляем период между посылками в миллисекундах, чем меньше значение тем быстрее идет процесс, но тем сложнее понять зоны ответственности ID и пакетов. Рекомендуем поставить 10
  10. Ставим флаг ID counter – если его не установить будет отправлен только один пакет при нажатии кнопки Go\Stop
  11. Жмем Go и начнется процесс передачи, нам останется наблюдать за реакцией исследуемого модуля
  12. Если мы увидели искомую реакцию, например дернулась стрелка тахометра, нажимаем Stop и далее кнопками Step- и Step+ можем точно локализовать пакет отвечающий за необходимую функцию
  13.  Для максимально точного выявления всех функций как правило необходимо сделать несколько проходов с разными данными, например первый проход тело пакет =FF FF FF FF FF FF FF FF, второй проход 55 55 55 55 55 55 55 55. А на третий проход можно установить флаг Data rotation и в процессе отправки пакетов тело пакета в области данных будет динамически изменяться.
  14.  Так же возможен режим работы с инкрементом любого выбранного байта пакета. Для этого мы задаем ID пакета в поле From – именно во From это ВАЖНО.
  15. Ставим флажки над теми байтами которые хотим инкрементировать
  16. Ставим флаг Data counter и снимаем флаг ID counter
  17. Нажимаем Go! В этом случае ID будет оставаться неизменным, а выбранные байты будут инкрементироваться.
  18. Перебор можно осуществлять по списку уникальных ID, который можно получить подключившись к исследуемому автомобилю. Для перебора по списку ID необходимо установить флаг By ID Table  и в этом случае перебор будет осуществляться по списку  Unique IDs

Поле Static message for IGN-ON emulation позволяет запустить параллельную передачу CAN пакета для эмуляции сигнала зажигания. Это актуально для панелей приборов и других ECU которым кроме подачи питания для включения необходимо посылать определенный пакет.

Поле CRC Calculator служит для расчета контрольной суммы передаваемого пакета и позволяет вставить полученное значение в любой байт CAN пакета. Контрольная сумма  как правило расположена в последнем байте пакета.  С помощью флагов мы может установить какие данные пакета участвуют в расчете CRC, как правило это ID и поля данных с 1 по 6.

Следуя этой методике и используя CAN-Hacker Bomber можно достаточно быстро получить массу информации об исследуемом автомобиле, очень удобно работать с панелями приборов.

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

Пример работы с программой CAN-Hacker Bomber для поиска пакетов в CAN шине Renault Kaptur 2017

Обзор версии от 09 февраля 2018

 

Добавить комментарий