- Java 90.7%
- HTML 8.2%
- PostScript 0.9%
- Python 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
README + CLAUDE: 'Aiways Europe ist insolvent' -> nur noch 'Backend-Server abgeschaltet, App funktioniert nicht mehr'. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011shUomooZ2agMQJjKmjHpi |
||
| docs | ||
| reference | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| INDEX.md | ||
| README.md | ||
| STATUS.md | ||
Aiways U5 — Reverse Engineering & Reimplementierung
Die offiziellen Aiways-Backend-Server sind abgeschaltet und die originale Aiways-/AICHI-App funktioniert nicht mehr. Dieses Repository sammelt die komplette Reverse-Engineering-Arbeit, um Steuerung und Telemetrie des Aiways U5 ohne Herstellerinfrastruktur wiederherzustellen — offline, lokal, self-hosted.
⚠️ Sicherheits- und Rechtshinweis Diese Unterlagen beschreiben Zugriffe auf das eigene, selbst besessene Fahrzeug. Sie enthalten fahrzeug-/geräteindividuelle Identifier, Werks-Default-Zugänge und Schlüsselmaterial. Das Repository ist privat zu halten. Kein Zugriff auf fremde Fahrzeuge. Eingriffe erfolgen auf eigenes Risiko und können Garantie, Zulassung und Fahrzeugsicherheit berühren.
Die Kurzfassung — was funktioniert schon
| Fähigkeit | Weg | Status |
|---|---|---|
| Root auf der TBox | unsignierte fota.sh via FTP (root:oelinux123) + FOTA-Wakeup |
✅ verifiziert |
| Root/adb auf der Head-Unit | OEM-Image ohne dm-verity, Connect-APK | ✅ verifiziert |
| Fahrzeugsteuerung (BLE) | A001-Auth + B001 (V1) — Türen, Fenster, Blinker, Hupe live am Auto | ✅ verifiziert |
| Self-Provisioning | eigenes RSA-Keypair als key_<btkeyId> auf die TBox schreiben |
✅ offline bestätigt |
| Telemetrie lesen (SoC, Odo, Zellen…) | cache_data-Ringpuffer per FTP + Decoder |
✅ verifiziert |
| Steuerung/Telemetrie ohne Modem | alles läuft lokal über TBox-WLAN / BLE / Port 50000 | ✅ verifiziert |
| Live-Push-Telemetrie (GB32960) | gbsetaddr auf lokale IP |
⛔ blockiert durch Network-up-Gate |
Ausführlicher Stand, Roadmap und offene Blocker: STATUS.md. Vollständiges annotiertes Inhaltsverzeichnis: INDEX.md.
Systemüberblick
┌─────────────┐ BLE (A001/B001, V1) ┌──────────────────────────┐
Handy / │ BLE-Client │◄───────────────────────►│ TBox (AG35/INTEST) │
Laptop │ (aichi_ble) │ │ - Auth: key_<btkeyId> │
└─────────────┘ │ - Port 50000 "Assist" │
┌─────────────┐ WLAN-AP / FTP / :50000 │ - FTP root:oelinux123 │
│ Laptop / │◄───────────────────────► │ - cache_data (Telemetrie)│
│ ESP32/LTE │ │ - shell_cli / fota.sh │
└─────────────┘ └────────────┬─────────────┘
CAN / SPI │ scom 0xA1
┌─────────────▼───────────┐
┌─────────────┐ USB0 / :50000 Relay │ MCU (Body/CAN-Gateway) │
│ Head-Unit │◄────────────────────────►│ MCU_J304ACECALL09 │
│ i.MX6 / A4.4│ └─────────────┬───────────┘
└─────────────┘ CAN-Bus │
┌───────────────▼──────────┐
│ Fahrzeug (BCM, BMS, …) │
└──────────────────────────┘
Repository-Struktur
.
├── README.md ← diese Datei
├── INDEX.md ← annotiertes Inhaltsverzeichnis aller Dokumente
├── STATUS.md ← aktueller Projektstand, Roadmap, offene Blocker
├── docs/
│ ├── 01-headunit/ ← Head-Unit (i.MX6): System-Image, Root, USB-Update, WLAN
│ ├── 02-tbox/ ← TBox: Port-50000-Assist, Opcodes, Signal-Store, 4G-Pfad
│ ├── 03-mcu/ ← MCU: Firmware, Shell, scom-0xA1, SPI-Capture, Write-Pfad
│ ├── 04-protokolle/ ← BLE-Spec, A001-Handshake, Auth & Provisioning, IPC
│ ├── 05-telemetrie/ ← CAN/DBC-Decode, INX-Parser, cache_data, Leseseite
│ ├── 06-app-und-architektur/ ← App-Ersatz, Community-APK, Ziel-/Produktarchitektur
│ └── 07-tests-und-logs/ ← Live-Testprotokolle am Fahrzeug
├── tools/
│ ├── python/ ← BLE-Client, Provisioning, Port-50000-Client, GAMI-Tool
│ └── shell/ ← Head-Unit-/TBox-Skripte (Relay, Probe, fota.sh, Bootstrap)
└── reference/ ← dekompilierte / Referenz-Quellen
├── aiwaysapp-Protocol.java ← BLE-V1-Referenzimplementierung
├── decomp/ ← Ghidra-C-Dekompilate: tbox_app, mcu_app, libuccore, libsysi4tbox (LFS)
├── apk-jadx/ ← jadx-Java-Dekompilate der 8 Head-Unit-APKs (Adayo/Haoke)
├── tbox_port50000_report.txt ← Port-50000-Analysebericht
├── imx6.ini ← GAMI-USB-Update-Konfiguration (Referenz)
└── EXTERNAL-ARTIFACTS.md ← Index der NICHT eingecheckten Firmware/Dumps (~/artifacts/)
Git-LFS: Große Text-/Binär-Exporte unter
reference/decomp/(C) undreference/apk-jadx/(Bild-/Media-Assets) liegen in Git-LFS. Nach dem Klonen einmalgit lfs install && git lfs pullausführen, sonst erhält man nur Pointer-Dateien. Firmware-Images und Roh-Dumps sind nicht im Repo — siehereference/EXTERNAL-ARTIFACTS.md.
Werkzeuge auf einen Blick
| Datei | Zweck | Abhängigkeiten |
|---|---|---|
tools/python/aichi_ble_client.py |
BLE-Steuerung/Telemetrie (A001/B001/V1/V2, AES-CBC) | bleak, cryptography |
tools/python/aichi_provision.py |
Self-Provisioning: RSA-Keypair + key_<id> erzeugen/pushen |
cryptography |
tools/python/tbox50000.py |
Port-50000-Assist-Client (7E/XOR-Framing, Shell 0x301) | stdlib |
tools/python/gami.py |
GAMI-Container der Head-Unit ent-/packen (Checksummen) | stdlib |
tools/shell/aichi_fota_wifi_dev.sh |
fota.sh-Payload: TBox-WLAN-AP + Root-Shell |
BusyBox (on-device) |
tools/shell/aichi_bootstrap.sh |
HU→TBox Bootstrap-Provisioning per FTP | BusyBox (on-device) |
tools/shell/hu_relay.sh |
HU-TCP-Relay Laptop→TBox:50000 | BusyBox (on-device) |
tools/shell/hu_probe.sh |
Schnelltest Port 50000 von der HU aus | BusyBox (on-device) |
Statuslegende
- ✅ verifiziert — am echten Fahrzeug oder per Selbsttest byte-genau bestätigt
- 🟡 teilweise verifiziert — statisch (Ghidra/Decompile) belegt, Live-Test offen
- 🔵 Hypothese — Arbeitsannahme, noch nicht belegt
Diese Dokumentation wurde im Rahmen der Aiways-U5-Recherche zusammengetragen und
strukturiert. Chronologie und Detailtiefe der einzelnen Funde stehen in den jeweiligen
Dokumenten unter docs/.