Reverse engineering на CAN шината...

На братчеда на леля му на зетя й брат му се жени, не мога да избера с какъв цвят обувки да ходя на сватбата?? Помагайте!

Модератор: Общи модератори

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Reverse engineering на CAN шината...

Мнение от Nickelback » 05 Апр 2019, 18:22

Заигравам се с едни красоти по камиона и опрях до там, че да ми трябват точно конкретни съобщения идващи по интериорния CAN. Всичко прекрасно, мислех, че се е заринало с информация в нета за тия коли (Daimler-Chrysler от тия години) - да, ама не! :ok: Никъде нищо не пише, а като питаш по форумите и фейсбук групите, никой не иска да каже :mhihi: Ще да искат пари явно :ok: Та запретнах ръкави, разглобих камионетката и си намерих подходящо място на интериорния CAN ("CAN-B" както го наричат). Подготвих си един аматьорски хардуер (Arduino Nano + MCP2515), с който да слухтя, и го боцнах на правилното място. Единствената информация, която беше изтекла из нета беше, че CAN-B, е на доста крив битрейт - 83.3kbps. Хубаво, докарах го с 16MHz кварц на MCP2515-ката.

И какво видях! Видях един burst от стотина съобщения вървящи там за една елементарна команда към жипката :roll: Признавам си, че го подцених, защото не вярвах, че има много, много модули навързани по CAN на тоя модел. Да, ама не, бая са :dunno: Поради това Arduino-то не смогва да изпомпа достатъчно бързо съобщенията по серийната конзола и съответно изпускам някои. Тааа... ще минавам на Raspberry Pi със socketCAN :dunno:

Та чудя се, дали има и други дивяци като мен из форума, които им се ще да си преслушат CAN-a. Знам, че на BMW съобщенията са що-годе известни и едва ли ви се е налагало reverse engineering, но все пак. Откъде сте черпили информация, ако сте ползвали нещо наготово?



Изображение

Изображение
Последна промяна Nickelback на 05 Апр 2019, 18:51, променена общо 1 път
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

ентусиаст
Аватар
Мнения: 1369
Регистриран на: 14.04.2008

Re: Reverse engineering на CAN шината...

Мнение от slatanic » 05 Апр 2019, 18:51

Това цялото с каква идея го правиш?Че имам интерес към тия камиончета знаеш. :mhihi:

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 05 Апр 2019, 18:54

slatanic написа:Това цялото с каква идея го правиш?Че имам интерес към тия камиончета знаеш. :mhihi:

Ами към момента е тайна и предстояща приятна изненада към потребителите на форума и автомобилната общност в България (и не само) като цяло :) Нещо полезно ще е за всички ;) Като заработи системата от-до, всички ще разберете :yes:
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

master of the force
Аватар
Мнения: 5578
Регистриран на: 11.08.2003
Местоположение: planet torque

Re: Reverse engineering на CAN шината...

Мнение от alx » 05 Апр 2019, 19:39

http://chadgibbons.com/2013/12/29/hacki ... r-can-bus/

аз намерих това - поне може да видиш формата и стринговете на някои от съобщенията...

аз си мислех, че кан-а на джип е като на мерцедес (нали бяха заедно едно време) ама изглежда не са...
алекс
трабант 601с
разни други возила

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 05 Апр 2019, 19:51

alx написа:http://chadgibbons.com/2013/12/29/hacking-the-jeep-interior-can-bus/

аз намерих това - поне може да видиш формата и стринговете на някои от съобщенията...

аз си мислех, че кан-а на джип е като на мерцедес (нали бяха заедно едно време) ама изглежда не са...

Благодаря от все сърце! :bchug: Няма точно това, което търся, но има важни опорни точки, което е още по-ценно :)
Ще стане работата :yes:

ПС: Все ми се ще да си говорим в подобен стил с теб, ще е доста по-креативно :bchug:
Последна промяна Nickelback на 05 Апр 2019, 19:53, променена общо 1 път
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

кандидат ентусиаст
Аватар
Мнения: 169
Регистриран на: 5.01.2005

Re: Reverse engineering на CAN шината...

Мнение от enigma » 05 Апр 2019, 19:53

Не знам за протокола на Даймлер-Крайслер, обаче ако си в непознати води, ето това е добър подход. Използваш електрическия профил, който може да се извлече от съобщенията, за да идентифицираш от кое ECU идват за начало.

http://canlandbucket.s3-website-eu-west-1.amazonaws.com/productionResourcesFiles/ebba4210-6c52-493d-a2ea-525dff614b21/Use%20of%20CAN%20Bus%20Message%20Electrical%20Signatures%20for%20Automotive%20Reverse%20Engineering.pdf
enigma
ያለ እኩል

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 05 Апр 2019, 20:00

enigma написа:Не знам за протокола на Даймлер-Крайслер, обаче ако си в непознати води, ето това е добър подход. Използваш електрическия профил, който може да се извлече от съобщенията, за да идентифицираш от кое ECU идват за начало.

http://canlandbucket.s3-website-eu-west-1.amazonaws.com/productionResourcesFiles/ebba4210-6c52-493d-a2ea-525dff614b21/Use%20of%20CAN%20Bus%20Message%20Electrical%20Signatures%20for%20Automotive%20Reverse%20Engineering.pdf

Ахахахаха, това с клъстеризацията пък е страшно хитро, нямаше да се сетя вероятно :ok:
За съжаление нямам подходяща техника вкъщи, че да го приложа, но не вярвам да ми се наложи чак :)

Бла-го-да-ря и на теб! :bchug:
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

ентусиаст
Аватар
Мнения: 1369
Регистриран на: 14.04.2008

Re: Reverse engineering на CAN шината...

Мнение от slatanic » 05 Апр 2019, 20:44

Абе ще стане работата.Пък до тогава дано да съм се обзавел отново с грандче па макар и 6.1 този път. :mhihi:

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 06 Апр 2019, 17:48

Малко логове от днес, че ми стана едно такова тъжно и се чудя от 'де да го почна :ok:



Изображение
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

старши ентусиаст
Аватар
Мнения: 1573
Регистриран на: 5.11.2007
Местоположение: Пловдив
Пол: Мъж

Re: Reverse engineering на CAN шината...

Мнение от PeReZ » 10 Апр 2019, 13:01

Много интересна тема, зарадвах се, когато видях, че се заражда подобен проект и то от човек, който отдавна е показал, че не е като да не е зареден с ентусиазъм.

Аз знам, че имаш и познанията, и амбицията да докараш до край този проект, така че не съм убеден дали би имало особен смисъл от елементарни идеи, но все пак реших да ти напиша една.

Много често, когато става дума за canbus, дадени модули изпращат по няколко съобщения в секунда и когато четеш цялата комуникация, ти идва да се гръмнеш, защото реално виждаш един стабилно голям поток от не много променящи се съобщения.
Та, мисълта ми е, че можеш да помислиш за това как да си улесниш визуализацията, като вземеш идея от тази картинка:
Изображение
а защо не и от целия проект на пичагата: https://medium.com/@alexandreblin/can-b ... 27f2b1709a

Така поне ще можеш да изключиш големия флууд от ненужни за теб съобщения към момента.

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 10 Апр 2019, 20:01

PeReZ написа:Много интересна тема, зарадвах се, когато видях, че се заражда подобен проект и то от човек, който отдавна е показал, че не е като да не е зареден с ентусиазъм.

Аз знам, че имаш и познанията, и амбицията да докараш до край този проект, така че не съм убеден дали би имало особен смисъл от елементарни идеи, но все пак реших да ти напиша една.

Благодаря, колега, радвам се, че има хора, които оценяват начинанието :bchug: Само с vehicle bus ривърс инженеринг не се бях занимавам, ама ей го на, наложи се :ok: Естествено има своите особености, които откривам и тепърва ще откривам :)
А елементарните идеи, хич не са елементарни :) Често пъти вглъбени в уж страхотно комплексния проблем не виждаме елементарното му решение :dunno: Out-of-the-box мисленето е "в почивка" в някои напрегнати моменти и е прекрасно да има някой, който да те върне в реалността :yes: Наскоро решавах един проблем на работа по изключително завъртян начин. Все не се получаваше както го искам :dunno: Едно момче, стажант на две седмици вметна "защо не го направиш така и така"? В първия момент се усмихнах, тъкмо да му кажа, как уж няма да стане по неговия начин, и ми светна, че точно по неговия начин ще стане с лека корекция в правилната посока. Но човекът имаше идея, глобална концепция, имплементацията е нещо второстепенно :) Казах му браво и съм обещал да го черпя бира на обяд :yes: Та така, отплеснах се :) Идеята ми бе, че приемам съвети и идеи от всеки, и определено ги адмирирам :) Не се присмивам на идеите, не се присмивам на "глупавите" въпроси (които в повечето случаи не са дори глупави, ами са прелюдия към решението). Присмивам се и се държа саркастично с неаргументираната, подигравателна, груба и иронична критика на първо влизане от хора, които си нямат идея от нещата, но се държат така, че като уж имат :mhihi: Каквото повикало, такова се обадило в общия случай :dunno:
С две думи - благодаря ти за включването и да, определено ми е ценно, тъй като това питонско туулче изглежда определено обещаващо :yes: Буферира малко месиджи и джурка разликите, за да ти блеснат пред очите. Написах си вчера подобно, но доста по примитивно, че нямах време. Ще го пробвам уикенда това от линка, определено :yes:
По подобен начин (забравих да се похваля тия дни), реших проблема с мистичните съобщения. Само че използвах готов такъв туул - "cansniffer", вървящ на Raspberry-то, с който намерих това:

Изображение

Ето как изглежда в реално време:



Както се вижда, той буферира последните "N" на брой постъпили съобщения за определено време и ги дава, сравнително прегледно, на един екран, сортирани по ID. Съответно, ако се промени пейлоудът веднага го оцветява в червено :) Така открих това, което ми трябва :) Въпрос беше на настройки и на туул. И да, както винаги съм казвал, решаването на даден проблем е 40% в правилния туулинг, 40% подход, и едни 20% знания :D

PeReZ написа:*Не е напълно вярно твоето убеждение, че в Интернет има много писано за БМВ canbus комуникацията. Имам предвид, че и там винаги се опира до reverse engineering, така че всеки, който е имал някакви мераци - все някога е бил в същата ситуация.

С такова впечатление бях останал, но може би е грешно да, може би за VAG има повече инфо, не знам :dunno: Тъпо, че нямам съвременно БМВ и да си пробвам :mhihi: Ама май и не искам да имам, като знам какво готвят по новите - тотално криптиране, salt-ване и sign-ване на vehicle bus трафика, а и дори криптиране на вътрешното IPC измежду процесите в даден модул, както и междупроцесорната комуникация :roll: Ходи сниффвай и разбери нещо :ok: :mhihi:

PeReZ написа:Много често, когато става дума за canbus, дадени модули изпращат по няколко съобщения в секунда и когато четеш цялата комуникация, ти идва да се гръмнеш, защото реално виждаш един стабилно голям поток от не много променящи се съобщения.
...
Така поне ще можеш да изключиш големия флууд от ненужни за теб съобщения към момента.

И си абсолютно прав - съобщенията се пращат многократно по шината за определен интервал от време :yes: Моят месидж се праща три пъти, след което се "погасява" и се праща вече с друг пейлоуд :)

Проектът е интересен и определено ще го разгледам :yes:
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

старши ентусиаст
Аватар
Мнения: 1857
Регистриран на: 20.10.2010
Местоположение: София
Пол: Мъж
Кара: BigBlockV8 и чат-пат SmallBlockV8
Мечтае да кара: бангия с предно
Детайли за колата: ;)
Big: Hemi 370 cu. in.
Small: S62B50 с жокери

Re: Reverse engineering на CAN шината...

Мнение от Nickelback » 04 Юни 2019, 21:07

Да е жив и здрав Жорданката (този иначе така симпатичен столкър и доктор на философските науки :ok: ), че ме подсети за темата :D Аз каквото ми трябваше си го намерих (бях писал назад) и малко бях забравил за темата :dunno: Но ако някой има въпроси съм насреща да отговоря. Да речем, че си почупих главата малко и мога да препоръчам как да се подходи :)

Тук по темата (понеже е обща) гепнах ей тоя линк от колегите в Е90 раздела. Има доста описани съобщения за може би най-актуалните модели БМВ на пазара у нас към момента. Вярвам, че ще са полезни на някого:

http://www.loopybunny.co.uk/CarPC/k_can.html

:bchug:

@PeReZ, не прибегнах до Python скрипта на пичагата, понеже ползва Arduino, което се опитва да помпи данни на 115200 по серийна конзола към ПитонЯ и нещо не смогва. При мен трафикът е доста по-свиреп в началото и изпуска съобщения. Не ми се занимаваше да го пренаписвам скрипта да ползва socketcan директно и да върви на моето Raspberry и затова го зарязах :dunno: Иначе дава доста прегледно резултатите :)
Изображение Изображение

"За тЕя пари има Е-шеесе" - форумна пословица.
Лето две и седемнаесто.

Назад към Извън Темата

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot]

Последни теми
Facebook