CANhack.de CAN interfaccia RKS+CAN
Hardware CAN, Software CAN, Protocolli CAN - Forum CAN-Bus per il tuo progetto CAN-Bus.

"Hacking" del CAN bus: quali metodi?

 
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Generale
Autore Messaggio
schlumpfkopf
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio16-10-2016, 22:55    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Ciao,

Da un po' di tempo mi sto interessando a questo argomento. Dopo aver compreso in qualche modo il funzionamento e l'hardware, mi chiedo come posso associare gradualmente i sensori/attuatori/eventi corretti all'enorme quantità di dati che ricevo.

Einfach irgendwas drücken und schauen was sich im Datenstrom verändert ist nicht, dafür kommt da viel zu viel auch ohne das ich etwas betätige. Wie Allora, iniziamo?

Esistono degli ID CAN universalmente validi che ogni produttore può utilizzare, oppure sono veramente distribuiti in modo completamente casuale da ciascun produttore?

Quali sono le relazioni tra ID, periodo e numero di ripetizioni? Si possono trarre delle conclusioni da questi dati? Gli ID bassi sono sempre associati a PCM o ABS, mentre quelli alti a sistemi di comfort? Possiamo affermare che i tempi di ripetizione superiori a 500 ms indicano più probabilmente sistemi di comfort? Abbiamo utilizzato principalmente un sistema 'challenge/response' oppure un sistema con ID ripetuti quando la funzione è attiva?

Ho raccolto alcuni ID tramite internet. Sembra anche che, all'interno di Ford, vengano utilizzati gli stessi ID per le stesse funzioni in diversi modelli e anni di produzione.

Come ho detto, sono ancora all'inizio. Come apparecchiatura di test, ho un trasmettitore-ricevitore compatibile con SL-CAN e connessione USB al PC. Tramite un interruttore, posso collegarlo a tutti e tre i bus CAN del veicolo, se necessario. Nel mio veicolo, i bus CAN sono direttamente collegati all'interfaccia OBD, quindi non c'è più alcun modulo gateway che filtri i dati.


P.S.: In questo forum ci sono molte informazioni sui veicoli Volkswagen. Forse non sono nel posto giusto con la mia Ford Mondeo?


Tradotto il 17-07-2026, 0:00.
Torna su
candev
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio16-10-2016, 23:48    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Ciao,

Anche se la mia risposta potrebbe non piacerti: bisogna innescare eventi, osservare i cambiamenti e ricavare segnali da essi; ecco come si fa.

Certo, non è sempre facile. All'interno, la situazione è abbastanza gestibile: posso attivare io stesso l'alzacristallo e poi dedurre autonomamente la posizione del segnale sul bus in base alla correlazione temporale.

Spesso, il cervello (il 'computer delle proteine') offre spunti utili. Quando si tratta di diversi sistemi di alzacristalli, mi chiedo: 'Come avrei potuto implementarlo?'. Allora mi viene in mente l'idea di prevedere un byte per 4 alzacristalli. Il nibble superiore = alzacristallo su, il nibble inferiore = alzacristallo giù. È solo un esempio, potrebbe anche essere al contrario, ma inizialmente cerco delle correlazioni appropriate.
Poi ci sono le funzioni di comfort, come l'apertura o la chiusura completa delle finestre. Queste sarebbero rappresentate tramite un altro byte dello stesso messaggio, proprio come avviene per l'apertura o la chiusura parziale attuale.

Con questo approccio, si possono ottenere risultati notevoli in pochissimo tempo; la realizzazione del mio interno mi è costata meno di 30 minuti (presupponendo l'utilizzo di un software performante).

Auf dem Antriebs-CAN wird es eckig, da man da die Ergeignisse nicht komplett steuern kann. Wie willst Du z.B. das Signal 'Schalteingriff unterbinden' des ESP auslösen? Eben, gezielt mal gar nicht. Auch Zündwinkel oder Einspritzmenge lassen sich gezielt nicht ohne weiteres Ansteuern. Bei letztgenannten Fällen hilft es, sich die entsprechenden Informationen zu besorgen, sprich, die entspr. Kennfelder auszulesen, und zu skalieren. Dazu kann man Testfahrten mit entsprechendem Mess-Equipment durchführen oder den Code der Anlage disassemblieren und verstehen. L'ultima cosa la fanno ragazzi avari come me...

Non esistono messaggi generali validi per tutti i produttori, ognuno agisce in modo indipendente. Certo, le grandi aziende tendono a raggruppare i propri marchi.
All'interno di un'azienda o di un gruppo industriale, spesso esistono schemi ben definiti da seguire. Nel design degli interni, questi possono variare nel tempo, mentre per quanto riguarda il sistema di propulsione, tendono ad essere molto più stabili, soprattutto quando il produttore è esperto nell'utilizzo del protocollo CAN e ne conosce le potenzialità, in particolare per quanto riguarda l'estensibilità retrocompatibile. Senza voler fare nomi (e preferendo non citare aziende specifiche anche in questo forum), non conosco i dettagli di alcune grandi case automobilistiche in merito a questi aspetti.

Saluti,
Non ho ricevuto alcun testo da tradurre. Per favore, fornisci il testo che desideri venga tradotto dal tedesco all'italiano.


Tradotto il 17-07-2026, 0:04.
Torna su
schlumpfkopf
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio17-10-2016, 9:28    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Grazie! Sto cercando degli spunti, come nell'esempio dell'alzacristallo. Mi interessano solo le funzioni di comfort; per quanto riguarda il motore CAN, preferisco non toccarlo.

Poiché il sistema CAN è orientato ai messaggi, non si sa da quale modulo di controllo provengono i messaggi che circolano sul bus. Questa informazione sarebbe molto utile e permetterebbe di concentrarsi sugli aspetti rilevanti.

Purtroppo, sembra che gli appassionati del protocollo CAN possano accedere a una quantità di informazioni pubbliche molto maggiore quando si tratta di modelli prodotti dal gruppo Volkswagen rispetto a quelli prodotti da Ford.

Non riesco ancora a implementare un sistema per verificare le modifiche apportate all'autobus, perché secondo me cambiano troppo frequentemente e non riesco a capire cosa sta succedendo. Ci sono spesso centinaia di identificativi attivi, anche quando non faccio nulla. Non riesco nemmeno a visualizzarli tutti su uno schermo.

Ho un'idea: ho qui un autoradio (MCA) da testare. Quando lo avvio, ricevo molte informazioni sull'autobus, provenienti dall'autoradio stesso, dato che non ci sono altri dispositivi attivi. Non conosco il significato dei messaggi, ma posso associare in modo univoco questi ID all'autoradio icon_smile.gif. Ho allegato un esempio di traccia vuota (traccia del laboratorio radio).

Poi ho controllato lo stesso autobus utilizzando l'auto per cercare possibili risposte ai messaggi ricevuti. Tra le azioni che potrebbero essere eseguite, immagino si possa includere: registrare la radio al GEM/IPC, inviare all'IPC la modalità operativa corrente (radio, CD, USB), interrogare il telecomando del volante. Queste informazioni sono contenute in un altro tracciato.

Non ho ancora deciso come devo registrare i miei risultati. Non ho ancora trovato un editor CAN DB gratuito. Tuttavia, penso che sia utile salvare i risultati in modo strutturato per poter derivare filtri o routine di programmazione da essi in seguito. Attualmente utilizzo, tra le altre cose, il software can tool. Questo programma offre la possibilità di filtrare segnali noti e quindi analizzarli.
Allora, se hai bisogno solo di mezz'ora per un attacco completo al sistema CAN, mi piacerebbe invitarti a prendere un caffè icon_wink.gif).



Non hai il permesso di visualizzare questi file, accedi o registrati per ottenere diritti estesi o aggiornamenti di stato.



Tradotto il 17-07-2026, 0:09.
Torna su
candev
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio17-10-2016, 9:45    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Ciao,

All'epoca non sono riuscito a trovare un editor CANdb gratuito, ecco perché ho optato per una soluzione personalizzata.

Come detto, l'ingegno è utile per individuare i segnali. È importante tenere sempre presente che ogni omissione o aggiunta di partecipanti al bus può comportare modifiche nel tracciato, che non derivano solo dalla mancata ricezione o dall'aggiunta dei messaggi provenienti direttamente dai rispettivi dispositivi di controllo.

Un principiante spesso pensa in termini di una mappatura delle funzioni sui dispositivi di controllo, ovvero n funzioni sono allocate in un singolo dispositivo di controllo. Nella pratica, è il contrario: ad esempio, una funzione può essere distribuita su più dispositivi di controllo (gestione dell'alimentazione, intervento ESP, ecc.). In questo modo, la mancata disponibilità di un dispositivo di controllo può disattivare determinate funzioni e, di conseguenza, causare la perdita o la modifica dei messaggi provenienti da altri dispositivi di controllo.
In ogni caso, una conoscenza approfondita della programmazione, nonché della progettazione concettuale delle centraline elettroniche e delle architetture software, è molto utile.

Mit Ford hast Du hier natürlich weniger Freude als mit den verbreiteteren und damit auch häufiger untersuchten VAG-Fahrzeugen. Dafür dreht sich jenseits des Teichs die Lage um. Dort bin ich vor 20 Jahren sehr umfassend von den jeweiligen Entwicklern selbst unterstützt worden. Einfach mal nach passenden Mailing-Lists suchen - das WWW ist nur für Leute, die der Tastaturbedienung nicht mächtig sind. icon_biggrin.gif

Saluti,
candev.

PS: Il mio sistema CAN interno è più semplice del tuo, penso che utilizzi circa il 30% delle sue funzionalità.


Tradotto il 17-07-2026, 0:12.
Torna su
schlumpfkopf
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio18-10-2016, 8:41    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

I principi del CAN mi sono piuttosto chiari. Dato che non sono un completo novizio in elettronica e programmazione, riesco anche a immaginarmi diverse cose. Secondo la tua tesi, si potrebbe capire veramente un bus solo dopo averne progettato uno personalmente. Non è questo un classico problema del 'tuorlo d'uovo'?

Capisco che la curva di apprendimento sia ripida, ma bisogna pur iniziare da qualche parte. Proverò a sviluppare il tuo approccio utilizzando un metodo logico. Dimmi se sto pensando nella direzione giusta!

Sto cercando il messaggio che indica la velocità di rotazione attuale del motore.
Questi 1) È molto probabile che ci sia una simile notifica, poiché il regime di giri del motore è un parametro fondamentale per molte funzioni nel veicolo. Almeno il quadro strumenti lo utilizza per la visualizzazione.
Questi sensori 2) misurano la velocità di rotazione prelevando un segnale da un punto qualsiasi dell'albero motore. Solitamente, il sistema è induttivo e una ruota dentata genera diversi impulsi per ogni giro. La frequenza degli impulsi rappresenta direttamente la velocità di rotazione.
Questi segnali raggiungono un'unità di controllo del motore, che li elabora e, in combinazione con informazioni temporali interne, calcola un valore di velocità di rotazione. Questo valore è probabilmente senza segno ed è un numero intero. Il modulo genera quindi un messaggio CAN da trasmettere sul bus del motore.
Queste informazioni vengono trasmesse, eventualmente tramite un gateway, al quadro strumenti e lì convertite in una tensione analogica per il contagiri.

Per trovare il messaggio, dovrei sapere quali dati sto cercando. L'intervallo di giri di un motore a combustione interna è probabilmente compreso tra 0 e 8000 giri al minuto, mentre per le motociclette può arrivare fino a 14.000. Questi valori possono essere facilmente rappresentati con 2 byte e c'è anche spazio per valori più alti. Non esistono giri negativi, inoltre i valori decimali hanno poca utilità in questo intervallo.

La velocità del motore è regolata, quindi si mantiene sempre entro determinati limiti. Sto cercando un valore che possa variare facilmente. A vuoto, il quadro strumenti indica circa 900 giri al minuto. In esadecimale, questo corrisponde a '03 84'. Dato che la velocità è regolata, il valore desiderato dovrebbe essere compreso tra 700 e 1000 giri al minuto, ovvero tra '02 BC' e '03 E8'.

Dovrei quindi cercare in base a questi dati, invece che agli ID. Quando trovo qualcosa di potenzialmente interessante, devo monitorare i messaggi pertinenti e, ad esempio, modificare la velocità di rotazione per verificare il risultato. Tutto questo presuppone che non ci sia una codifica diversa della velocità di rotazione o un offset presente.

Se tutto ciò sembra logico, per me deriva la seguente conclusione: più piccolo è il valore dei dati che cerco, più difficile è trovarlo; maggiore è, più facile diventa. Questo semplicemente perché una singola variazione di bit si verifica più frequentemente rispetto a una combinazione di 10 o 12 bit. Pertanto, durante un'attività di hacking, bisognerebbe iniziare con i valori apparentemente più grandi e poi procedere verso i segnali di commutazione.


Tradotto il 17-07-2026, 0:18.
Torna su
shavenne
CAN-Profi
CAN-Profi


Iscritto il: 27/04/2015
Messaggi: 37
Karma: +6 / -0   Grazie, mi piace!
Località: Paderborn

Supporto CAN

Messaggio18-10-2016, 10:01    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Mhm, purtroppo i numeri non vengono sempre indicati direttamente, ma a volte devono essere moltiplicati per un valore "x", e in questi casi si può eventualmente individuare un fattore comune, qualora il valore desiderato venga visualizzato da qualche parte. Ad esempio, nel mio caso, era il chilometraggio dall'ultima pulizia del filtro antiparticolato. Questo valore aumentava sempre di 5 km (visualizzato con OPCOM, uno strumento diagnostico Opel), quindi veniva diviso per 5 durante la trasmissione via CAN.
Nel peggiore dei casi, anche solo alcune parti di un byte potrebbero restituire un valore. Ad esempio, è successo a me durante la trasmissione della data e dell'ora al display OEM (vedi qui).


Tradotto il 17-07-2026, 0:20.
Torna su Profilo MP
Zampan0
CAN-Profi
CAN-Profi


Iscritto il: 28/06/2016
Messaggi: 30
Karma: +20 / -0   Grazie, mi piace!


Supporto CAN

Messaggio18-10-2016, 12:46    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Anche se mi occupo principalmente di ambito navale, in questo caso le cose sono molto simili.
In molti casi, i set di dati sono presenti più volte, poiché spesso sono installati diversi motori (istanze).

Anche in quel caso, si possono facilmente associare i valori che cambiano.

Cerco sempre valori di 1, 2 o 4 byte, ma in ambito marittimo questi vengono sempre rappresentati e utilizzati come numeri positivi.

Una temperatura viene trasportata nel bus moltiplicata per 100, quindi è sempre un valore positivo e con due cifre decimali esatte.

Come ha già scritto candev, a seconda delle apparecchiature disponibili, vengono raccolti o meno determinati set di dati inviati dai partecipanti allo studio.


Tradotto il 17-07-2026, 0:21.
Torna su Profilo MP
schlumpfkopf
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio18-10-2016, 18:04    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Molto interessante!

Sembra logico aumentare i valori decimali di potenze di dieci per ottenere un numero in virgola mobile virtuale. Per ogni cifra dopo la virgola, si effettua una moltiplicazione per 10.

La possibilità di cercare valori di temperatura è utile. Da qualche parte c'è un sensore esterno. E la temperatura esterna può essere facilmente determinata autonomamente, anche se viene visualizzata digitalmente a seconda del veicolo. Se la temperatura viene trasmessa in Kelvin, il che è quasi logico per sistemi di origine anglosassone, il valore ha uno scostamento di 273,5 rispetto alla temperatura in Celsius.

Sono davvero impressionato dalla capacità analitica dei partecipanti qui. Io sono ancora molto lontano da questo livello...

Ho imparato che i valori di misurazione grandi e visualizzati digitalmente sono più facili da determinare. A volte, possono esserci offset sconosciuti dovuti a spostamenti della virgola o punti di riferimento. È importante eseguire serie di misurazioni controllate in cui si possano ottenere valori desiderati noti a intervalli di tempo uguali. Anche in questo caso, bisogna porsi la domanda: come trasferirei questi valori?

Cercherò ora di ottenere informazioni sulla temperatura dell'olio esterno e/o del motore.


Tradotto il 17-07-2026, 0:24.
Torna su
schlumpfkopf
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio18-10-2016, 21:47    Oggetto: "Hacking" del CAN bus: quali metodi? Cita

Ho convertito i dati come descritto sopra in valori decimali (valore del byte diviso per 100) e ho inserito tutto in una tabella di Excel. L'intervallo di tempo tra ogni messaggio è costante ed è pari a 100 ms.

Ha creato un diagramma da questi dati e, IN EFFETTI!, rappresenta il mio stile di guida!



Non hai il permesso di visualizzare questi file, accedi o registrati per ottenere diritti estesi o aggiornamenti di stato.



Tradotto il 17-07-2026, 0:25.
Torna su
Nuovo argomento Rispondi 🔗 🖨 CANhack.de - Indice » Generale
Articoli e argomenti simili
Argomento Forum
Nessun nuovo messaggio Arduino + MCP2515: segnali "bloccati"? Microcontrollori ed elettronica, programmazione
Nessun nuovo messaggio ID CAN per il sistema audio "Volkswagen Sound" CAN Abitacolo / Comfort
Nessun nuovo messaggio Due "autobus" si collegano CAN Abitacolo / Comfort
Nessun nuovo messaggio Inviare messaggi al sistema RNS510 tramite il kit "Can-USB" Strumenti software CAN e software
Vai a:  
Non puoi scrivere nuovi argomenti in questo forum.