Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
byd-dolphin-hacking — Reverse Engineering der BYD Dolphin Head Unit — CAN-Bus, AVAS, NFC-Schlüssel, OTA und mehr. DiLink 3 / Android 10. | Kitploit
Tools/GitHubGitHub/wheregoes/byd-dolphin-hacking
Android-SicherheitEmbedded-System-SicherheitPrivilege EscalationIoT-SicherheitSchwachstellenanalyseReverse EngineeringInformationsbeschaffungHardware-HackingBinäranalysePapers & Forschung
GitHub
6610172vor 20 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
wheregoes/byd-dolphin-hacking

byd-dolphin-hacking

Reverse Engineering der BYD Dolphin Head Unit — CAN-Bus, AVAS, NFC-Schlüssel, OTA und mehr. DiLink 3 / Android 10.

Repository anzeigen

🚗 BYD Dolphin Head Unit — Recherche & Reverse Engineering

Reverse Engineering, Dokumentation und Tooling für das BYD Dolphin 25/26 Infotainment-System (DiLink 3, Android 10).

Alles hier wurde durch ADB-Erkundung, APK-Dekompilierung und CAN-Bus-Sondierung entdeckt — es wurde keine proprietäre Dokumentation verwendet.

⚠️ Haftungsausschluss: Inoffizielles, community-getriebenes Projekt — keine Verbindung zu BYD. Reverse Engineering der internen Android-Dienste von BYD ausschließlich für Bildungs- und Interoperabilitätszwecke. Nutzung auf eigenes Risiko — das Modifizieren von Fahrzeugsoftware kann Ihre Garantie erlöschen lassen oder gegen BYDs Nutzungsbedingungen verstoßen. Die Autoren übernehmen keine Haftung für Schäden an Ihrem Fahrzeug, Ihrer Software oder Ihren Daten.


📋 Inhaltsverzeichnis

  • Head-Unit-Spezifikationen
  • Erste Schritte
  • Wichtige Erkenntnisse
  • Sicherheitserkenntnisse
  • Architektur
  • Dokumentation
  • Skripte
  • Repository-Struktur
  • Firmware-Ressourcen & Referenzen
  • Lizenz

🖥️ Head-Unit-Spezifikationen

EigenschaftWert
PlattformDiLink 3.0
Android10 (API 29)
SoCQualcomm QCM6125 (SM6125 Trinket)
ArchitekturARM64, 8 Kerne
RAM~3,5 GB
Kernel4.14.117-perf
ADBWiFi, Port 5555
Head-Unit-IP192.168.10.10 (Auto-WiFi)
Firmware13.1.32.2507250.1 (25. Jul. 2025)
MCU13.5.2.2312260.1
DSP13.5.5.2505300.2
BootloaderEntsperrt (ro.boot.flash.locked=0)
Verified BootOrange (entsperrt)
InstrumentenclusterSeparates Qt/QML-System (Qt 5.15.10 / 6.5.5)

Getestet mit Firmware 13.1.32.2507250.1. Ältere Versionen funktionieren wahrscheinlich. Neuere Firmware-Updates von BYD können Dinge ändern oder beschädigen — keine Garantien.


🚀 Erste Schritte

Neu hier? Beginnen Sie mit dem Sideloading-Leitfaden, um Apps auf Ihrem BYD zu installieren — kein Root erforderlich.

Für benutzerdefinierte Apps, die auf dieser Recherche basieren, siehe byd-apps.

Schnelle ADB-Verbindung

adb connect 192.168.10.10:5555

Sideloading – Kurzübersicht

  • USB-Methode — APKs in den Ordner Third Party Apps XX legen (Ländercode-Suffix), im Auto einstecken
  • Master-Passwort — BYD6125F (universal über DiLink 3 hinweg)
  • APK-Anforderungen — ARM64, targetSdk ≤ 33, minSdk ≤ 29
  • Länderspezifische Einschränkungen — Kasachstan (Whitelist mit 14 Apps), Indien (nur Mappls), Europa/Japan/Australien (Online-Verifizierung)

CAN-Bus-Injektion (VCDS-Style-Codierung)

CAN-Frames per ADB injizieren — kein Root, kein OBD2-Dongle:

# 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

Siehe Driver Display für das vollständige UDS-Diagnoseprotokoll, das CAN-Frame-Format und die ECU-Netzwerktopologie.


🔬 Wichtige Erkenntnisse

✅ Was funktioniert (ohne Root)

FunktionDetails
AC-TemperaturmessunggetTemprature(zone) — Zone 1/2 = eingestellte Temperatur, Zone 4 = Außen-/Umgebungstemperatur
Vollständige AC-Steuerung40+ Getter- + SET-Methoden (Start/Stopp, Temperatur, Lüfter, Windmodus) über Permission-Bypass
AC-FernsteuerunghasFeature("ACRemoteControl") = 1, unterstützt 10–30-Minuten-Timer
Permission-BypassBydPermissionContext (ContextWrapper) gewährt BYDAUTO_*-Berechtigungen automatisch clientseitig
CAN-Bus Lesen/SchreibenÜber ADB mittels app_process + Reflection
75+ BYD-PaketeMit CAN-Bus-Zugriff, 100+ benutzerdefinierte BYDAUTO_*-Berechtigungen
Motor-Simulator-SoundSimulator vorhanden und umschaltbar (HAS_SIMULATOR=2), Preset ausgewählt über 0x3E300038. Die MCU speichert und gibt jeden Quelltyp zurück — verifiziert bis 200; nur 0 wird abgelehnt — die Akzeptanz impliziert also keinen bestimmten Sound, und die Anzahl der echten Presets ist über diese API nicht ermittelbar. 0x48F00013 gibt 1 zurück, was „eine Quelle existiert" bedeutet, nicht eine Anzahl. — Engine Sound app
AVAS-Preset-AuswahlCAN-schreibbar — UI zeigt 2, aber MCU akzeptiert 0–5+
setBuffer PCM-Streaming128-Byte-PCM-Frames werden von der MCU akzeptiert (ret=0) für 8+ Feature-IDs. Max. Puffer: 128 Bytes. Ob die MCU dies als Audio interpretiert, ist unbestätigt.
AVAH-TesttöneWiedergabe über den AVAS-Außenlautsprecher mittels Werksdiagnosesignalen (0x6E970010)
AVAS-Melodiemuster8 funktionierende Muster (Türklingel, Ladengong, Alarm, Fanfare usw.) über TEST_AUDIO_AVAS_SET-Tonhöhensteuerung — Door Sound app
CAN-Bus-InjektionVCDS-artige Feature-Codierung möglich — CAN-Frames über com.byd.cluster.spi-Broadcast injizieren, kein Root erforderlich
Cluster-ScreenshotFahrerdisplay erfassen über fission_screencap -d 1 -p <file>
Instrumentencluster-AuslesungPowerUnit, TempUnit, BacklightCtlType, InsThemeValue über BYDAutoManager
DRL-UmschaltungsetInt(1004, 0x43100046, 1/2) — DRL-Automatikmodus EIN/AUS, durch Rücklesen bestätigt
YUN-Gerät (1034)ALLE 0xAA-Feature-IDs werden von der MCU akzeptiert — setBuffer(1034, fid, data) und setInt(1034, fid, val) geben 0 (OK) zurück. Der private MCU-Kanal von Cloudmanager. Benötigt AES-Verschlüsselung zur Auslösung.
Content-ProviderStellen Fahrzeugdaten bereit (Batterie, Reifendruck, Wartung, Fahrtverbrauch)
SideloadingUSB-Laufwerk oder ADB — siehe Anleitung
360-Kamera-FramesLive 1280×960 von allen vier Surround-Kameras, kein Root. bmmcamera.jar ist weltweit lesbar — laden Sie es selbst und steuern Sie JNIBMMCamera direkt aus einem shell-uid app_process. Eine installierte App kann dies niemals tun (SELinux verweigert untrusted_app_* den bmmcameraserver-Binder); ein über ADB gestarteter Prozess kann es — Details

⚠️ Teilweise funktionierend

FunktionStatus
TürverriegelungsstatusHaupttüren geben INVALID (0) zurück, Kindersicherung lesbar. Kein dediziertes setDoorLockStatus() — benötigt generisches set() mit unbekannten Feature-IDs
360-Kamera-Display-SteuerungBYDAutoPanoramaDevice (Modus, Rotation, Transparenz) wird serverseitig durchgesetzt und der BydPermissionContext-Bypass schlägt fehl. Frame-Erfassung funktioniert — siehe oben

❌ Was nicht funktioniert

Tool herunterladen