
App video FPV per drone HASAKEE per Android

Un'app Android per visualizzare il flusso video live dei droni FPV HASAKEE. Realizzata tramite reverse engineering del protocollo UDP proprietario usato dalla fotocamera WiFi del drone.
HASAKEE-WiFi-XXXXX)192.168.0.1, porta video: 40000Altri droni HASAKEE/Lewei che utilizzano lo stesso protocollo potrebbero funzionare.
WifiNetworkSpecifier, API 26-28 verifica la connessione esistente)| Streaming | Connessione WiFi automatica |
|---|---|
![]() | ![]() |
Icona dell'app:
Icona del drone di Flaticon — gratuita per uso personale e commerciale con attribuzione.
L'app comunica con il drone tramite UDP:
HASAKEE-WiFi-XXXXX)63 63 01 00 00 00 00) ogni 1 secondo a 192.168.0.1:40000Il drone utilizza un formato di pacchetto proprietario ottenuto tramite reverse engineering dalle librerie native dell'app Android HASAKEE FPV (liblewei-2.3.so, liblewei63.so):
Offset 0x00-0x01: 0x6363 (header magico)
Offset 0x02: Tipo di comando (0x01=heartbeat, 0x03=video)
Offset 0x03-0x04: ID di sequenza
Offset 0x05-0x06: Lunghezza pacchetto
Offset 0x07: Tipo di frame
Offset 0x08-0x0B: ID frame
Offset 0x36 (54): Inizio dati JPEG
Questa app è stata realizzata partendo dalla conoscenza del protocollo acquisita tramite reverse engineering dell'app Android HASAKEE FPV (versione 1.0.4), in particolare delle sue librerie native utilizzando Ghidra e l'analisi dei pacchetti con Wireshark.
L'intero lavoro di reverse engineering, inclusa la documentazione del protocollo decompilato, il codice Python proof-of-concept per lo streaming e le note dettagliate sul protocollo, è disponibile su:
git clone https://github.com/mretallack/DroneCamera.git
cd DroneCamera
./gradlew assembleDebug
L'APK si troverà in app/build/outputs/apk/debug/app-debug.apk.
Le build di release richiedono un keystore di firma:
export KEYSTORE_PATH=release.keystore
export KEYSTORE_PASSWORD=<your-password>
export KEY_ALIAS=release
export KEY_PASSWORD=<your-password>
./gradlew assembleRelease
L'APK firmato si troverà in app/build/outputs/apk/release/app-release.apk.
./gradlew installDebug
./gradlew test
./gradlew lintDebug
app/src/main/java/uk/org/retallack/dronecamera/
├── FrameAssembler.kt # Parser pacchetti 0x6363, assemblaggio frame, deoffuscamento
├── DroneConnection.kt # Invio heartbeat UDP e ricezione pacchetti
├── WifiConnector.kt # Connessione automatica al WiFi del drone HASAKEE
├── DroneStreamViewModel.kt # Gestione stato (IDLE/CONNECTING/STREAMING/ERROR)
└── MainActivity.kt # Visualizzazione video SurfaceView e UI
Questo progetto è concesso in licenza secondo la MIT License — vedi LICENSE per i dettagli.
Icona del drone di Flaticon.