
Drone HASAKEE FPV video app for Android

Eine Android-App zur Anzeige des Live-Videostreams von HASAKEE FPV Drohnen. Entwickelt durch Reverse Engineering des proprietären UDP-Protokolls, das von der WLAN-Kamera der Drohne verwendet wird.
HASAKEE-WiFi-XXXXX)192.168.0.1, Videoport: 40000Andere HASAKEE/Lewei-basierte Drohnen, die dasselbe Protokoll verwenden, könnten ebenfalls funktionieren.
WifiNetworkSpecifier, API 26-28 prüft bestehende Verbindung)| Streaming | WLAN Auto-Verbindung |
|---|---|
![]() | ![]() |
App-Symbol:
Drohnen-Symbol von Flaticon — kostenlos für private und kommerzielle Nutzung mit Namensnennung.
Die App kommuniziert über UDP mit der Drohne:
HASAKEE-WiFi-XXXXX)63 63 01 00 00 00 00) an 192.168.0.1:40000Die Drohne verwendet ein proprietäres Paketformat, das aus den nativen Bibliotheken der HASAKEE FPV Android-App (liblewei-2.3.so, liblewei63.so) zurückentwickelt wurde:
Offset 0x00-0x01: 0x6363 (magic header)
Offset 0x02: Command type (0x01=heartbeat, 0x03=video)
Offset 0x03-0x04: Sequence ID
Offset 0x05-0x06: Packet length
Offset 0x07: Frame type
Offset 0x08-0x0B: Frame ID
Offset 0x36 (54): JPEG data start
Diese App basiert auf Protokollkenntnissen, die durch Reverse Engineering der HASAKEE FPV Android-App (Version 1.0.4) gewonnen wurden, insbesondere ihrer nativen Bibliotheken unter Verwendung von Ghidra und Wireshark-Paketanalyse.
Die gesamte Reverse-Engineering-Arbeit, einschließlich dekompilierter Protokolldokumentation, Python-Proof-of-Concept-Streaming-Code und detaillierten Protokollnotizen, ist verfügbar unter:
git clone https://github.com/mretallack/DroneCamera.git
cd DroneCamera
./gradlew assembleDebug
Die APK befindet sich unter app/build/outputs/apk/debug/app-debug.apk.
Release-Builds erfordern ein Signing-Keystore:
export KEYSTORE_PATH=release.keystore
export KEYSTORE_PASSWORD=<your-password>
export KEY_ALIAS=release
export KEY_PASSWORD=<your-password>
./gradlew assembleRelease
Die signierte APK befindet sich unter app/build/outputs/apk/release/app-release.apk.
./gradlew installDebug
./gradlew test
./gradlew lintDebug
app/src/main/java/uk/org/retallack/dronecamera/
├── FrameAssembler.kt # 0x6363 packet parser, frame assembly, deobfuscation
├── DroneConnection.kt # UDP heartbeat sender and packet receiver
├── WifiConnector.kt # Auto-connect to HASAKEE drone WiFi
├── DroneStreamViewModel.kt # State management (IDLE/CONNECTING/STREAMING/ERROR)
└── MainActivity.kt # SurfaceView video display and UI
Dieses Projekt ist unter der MIT-Lizenz lizenziert — siehe LICENSE für Details.
Drohnen-Symbol von Flaticon