Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
byd-dolphin-hacking — Reverse engineering dell'head unit della BYD Dolphin — CAN bus, AVAS, chiavi NFC, OTA e altro. DiLink 3 / Android 10. | Kitploit
Strumenti/GitHubGitHub/wheregoes/byd-dolphin-hacking
Sicurezza AndroidSicurezza Sistemi EmbeddedEscalation di PrivilegiSicurezza IoTAnalisi delle VulnerabilitàReverse EngineeringRaccolta InformazioniHacking HardwareAnalisi di BinariPaper e Ricerca
GitHub
591082 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
wheregoes/byd-dolphin-hacking

byd-dolphin-hacking

Reverse engineering dell'head unit della BYD Dolphin — CAN bus, AVAS, chiavi NFC, OTA e altro. DiLink 3 / Android 10.

Vedi Repository

🚗 BYD Dolphin Head Unit — Ricerca e Reverse Engineering

Reverse engineering, documentazione e strumenti per il sistema di infotainment BYD Dolphin 25/26 (DiLink 3, Android 10).

Tutto ciò che è presente qui è stato scoperto tramite esplorazione ADB, decompilazione di APK e probing del bus CAN — non è stata utilizzata alcuna documentazione proprietaria.

⚠️ Disclaimer: Progetto non ufficiale, guidato dalla community — nessuna affiliazione con BYD. Reverse engineering dei servizi Android interni di BYD a solo scopo didattico e di interoperabilità. Usare a proprio rischio — modificare il software del veicolo può invalidare la garanzia o violare i termini di servizio di BYD. Gli autori non si assumono alcuna responsabilità per eventuali danni al veicolo, al software o ai dati.


📋 Indice

  • Specifiche della Head Unit
  • Per Iniziare
  • Risultati Chiave
  • Risultati di Sicurezza
  • Architettura
  • Documentazione
  • Script
  • Struttura del Repository
  • Risorse Firmware e Riferimenti
  • Licenza

🖥️ Specifiche della Head Unit

ProprietàValore
PiattaformaDiLink 3.0
Android10 (API 29)
SoCQualcomm QCM6125 (SM6125 Trinket)
ArchitetturaARM64, 8 core
RAM~3.5 GB
Kernel4.14.117-perf
ADBWiFi, porta 5555
IP della Head Unit192.168.10.10 (WiFi dell'auto)
Firmware13.1.32.2507250.1 (25 lug 2025)
MCU13.5.2.2312260.1
DSP13.5.5.2505300.2
BootloaderSbloccato (ro.boot.flash.locked=0)
Verified bootArancione (sbloccato)
Quadro StrumentiSistema Qt/QML separato (Qt 5.15.10 / 6.5.5)

Testato sul firmware 13.1.32.2507250.1. Le versioni precedenti probabilmente funzionano. Aggiornamenti firmware più recenti da BYD potrebbero modificare o rompere le cose — nessuna garanzia.


🚀 Per Iniziare

Nuovo qui? Inizia con la Guida al Sideloading per installare app sulla tua BYD — senza root.

Per app personalizzate basate su questa ricerca, vedi byd-apps.

Connessione ADB Rapida

adb connect 192.168.10.10:5555

Sideloading: informazioni rapide

  • Metodo USB — inserisci gli APK nella cartella Third Party Apps XX (suffisso del codice paese), collegalo all'auto
  • Password master — BYD6125F (universale su DiLink 3)
  • Requisiti APK — ARM64, targetSdk ≤ 33, minSdk ≤ 29
  • Restrizioni specifiche per paese — Kazakistan (whitelist di 14 app), India (solo Mappls), Europa/Giappone/Australia (verifica online)

Iniezione CAN Bus (codifica in stile VCDS)

Inietta frame CAN da ADB — senza root, senza dongle OBD2:

# 1. Start the ClusterDebug app + service (acts as privileged proxy)
adb shell "am start -n com.byd.clusterdebug/.MainActivity"
adb shell "am startservice -n com.byd.clusterdebug/.ClusterDebugService"

# 2. Inject CAN frames
adb shell "am broadcast -a com.byd.cluster.spi --es normal 'FF,FF,FF,FF,FF,FF,FF,FF'"

# 3. Capture cluster screenshot
adb shell "fission_screencap -d 1 -p /data/local/tmp/cluster.png"
adb pull /data/local/tmp/cluster.png

Consulta Driver Display per il protocollo diagnostico UDS completo, il formato dei frame CAN e la topologia di rete delle ECU.


🔬 Risultati principali

✅ Cosa funziona (senza root)

FunzionalitàDettagli
Lettura temperatura ACgetTemprature(zone) — zone 1/2 = temperatura impostata, zone 4 = esterna/ambiente
Controllo completo ACOltre 40 metodi getter + SET (avvio/arresto, temperatura, ventola, modalità vento) tramite bypass dei permessi
Controllo remoto AChasFeature("ACRemoteControl") = 1, supporta timer da 10 a 30 min
Bypass permessiBydPermissionContext (ContextWrapper) concede automaticamente i permessi BYDAUTO_* lato client
Lettura/scrittura CAN busTramite ADB usando app_process + reflection
Oltre 75 pacchetti BYDCon accesso al CAN bus, oltre 100 permessi personalizzati BYDAUTO_*
Suono simulatore motoreSimulatore presente e attivabile (HAS_SIMULATOR=2), preset selezionato tramite 0x3E300038. L'MCU memorizza e restituisce qualsiasi tipo di sorgente — verificato fino a 200; solo 0 viene rifiutato — quindi l'accettazione non implica un suono distinto e il numero di preset reali non è individuabile tramite questa API. 0x48F00013 restituisce 1 che significa "esiste una sorgente", non un conteggio. — Engine Sound app
Selezione preset AVASScrivibile via CAN — l'interfaccia mostra 2 ma l'MCU accetta 0–5+
Streaming PCM setBufferFrame PCM da 128 byte accettati dall'MCU (ret=0) per oltre 8 feature ID. Buffer massimo: 128 byte. Non confermato se l'MCU li interpreti come audio.
Toni di test AVAHRiproduzione sull'altoparlante esterno AVAS usando segnali diagnostici di fabbrica (0x6E970010)
Pattern melodici AVAS8 pattern funzionanti (campanello, suoneria negozio, allarme, fanfara, ecc.) tramite controllo pitch TEST_AUDIO_AVAS_SET — Door Sound app
Iniezione CAN busCodifica funzionalità in stile VCDS possibile — inietta frame CAN tramite broadcast com.byd.cluster.spi, senza root
Screenshot clusterCattura del display conducente tramite fission_screencap -d 1 -p <file>
Letture quadro strumentiPowerUnit, TempUnit, BacklightCtlType, InsThemeValue tramite BYDAutoManager
Toggle DRLsetInt(1004, 0x43100046, 1/2) — modalità automatica DRL ON/OFF, confermato dalla rilettura
Dispositivo YUN (1034)TUTTI i feature ID 0xAA accettati dall'MCU — setBuffer(1034, fid, data) e setInt(1034, fid, val) restituiscono 0 (OK). Canale MCU privato di Cloudmanager. Richiede crittografia AES per l'attuazione.
Content providerEspongono dati del veicolo (batteria, pressione pneumatici, manutenzione, consumo viaggio)
SideloadingChiavetta USB o ADB — vedi guida
Frame telecamera 360Live 1280×960 da tutte e quattro le telecamere surround, senza root. bmmcamera.jar è leggibile da tutti — caricalo tu stesso e pilota JNIBMMCamera direttamente da un app_process con uid shell. Un'app installata non può mai farlo (SELinux nega a untrusted_app_* il binder bmmcameraserver); un processo avviato tramite ADB può — dettagli

⚠️ Parzialmente funzionante

FunzionalitàStato
Stato blocco porteLe porte principali restituiscono INVALID (0), il blocco bambini è leggibile. Nessun setDoorLockStatus() dedicato — serve set() generico con feature ID sconosciuti
Controllo visualizzazione telecamera 360BYDAutoPanoramaDevice (modalità, rotazione, trasparenza) è applicato lato server e il bypass BydPermissionContext fallisce. La cattura dei frame funziona — vedi sopra

❌ Cosa non funziona

Scarica lo strumento