Kennt jemand ein solches Protokoll?

Arcoc

Cadet 1st Year
Registriert
Juni 2014
Beiträge
14
Hi! Ich hab mir vor einiger Zeit eine Drohne zugelegt. Diese lässt sich vom Handy aus steuern und da dachte ich, versuche ich doch sie mit dem PC zu steuern. Das Problem ist nur Folgendes: Nach erfolgreichem TCP-Verbindungsaufbau zu der Drohne sendet diese 20 bytes an den Client und erwartet dann 12 korrekte bytes. Falls diese korrekt waren, beginnt die Drohne einen Videostream, falls nicht wird die Verbindung geschlossen. Die Nachricht der Drohne zeigt ein gewisses Muster, während die Antwort der App (math. gesehen) bis auf das erste byte zufällig verteilt ist. Ich bin mir unsicher, ob das hier der richtige Platz zum fragen ist, aber falls jemandem das irgendwie bekannt vorkommt, freue ich mich über eine Antwort! Es gab übrigens beim Verkäufer die Möglichkeit den source code der Drohne herunterzuladen, allerdings ist es ein Beispielcode für eine verstellbare IP-Kamera, welche über das Onvif-interface gesteuert wird. Ich bin mir unsicher ob das einfach der falsche Code ist oder ob die eine veränderte Version dieses Codes benutzt haben.
Vielen Dank!
 
Welche drohne? es gibt mehr als nur einen anbieter und modell
 
  • Gefällt mir
Reaktionen: Asghan
"Ein gewisses Muster" - Was sollen wir damit bitte anfangen? :D

Musst uns schon mehr sagen... Aufzeichnungen, Namen der Drohne...
 
Oh, ja sry! :D Es ist eine Simulus GH-50.
Die 20 bytes sehen beispielsweise so aus:
[146, 159, 1, 0, 1, 96, 254, 255, 245, 103, 130, 67, 136, 103, 130, 67, 0, 2, 0, 0]
wobei die Werte an den Indizes (beginnend bei 0) 2,3,4,16,17,18,19 immer gleich sind.
Eine 12 byte Antwort ist beispielsweise dies:
[ 1, 36, 166, 2, 127, 28, 123, 68, 128, 64, 33, 71]
wobei nur die 1 am Anfang immer gleich ist.
Die App hat eine vorkompilierte native library ohne symbol table welche die Verbindung kontrolliert, also nicht so einfach zu durchschauen....
Soll ich den sogenannten Source-Code auch noch hochladen?
 
erste zeile ist von mir. anzahl austausche, etc....
ab zweite zeile chronologisch angeordnete richtige austausche
 

Anhänge

Da gibt es noch deutlich mehr Gemeinsamkeiten.
Die Summe aus dem 3. und 7. Byte ist immer 255 (8. Byte)
Die letzten 4 Byte sind immer gleich.

Das 6. Byte wird runtergezählt, bzw. das 2. Byte hochgezählt, bis das 3. Byte inkrementiert wird.

Es besteht auch ein direkter Zusammenhang zwischen Byte 6 und Byte 9/10

Byte 12 ist immer gleich Byte 16

Siehe Anhang.
 

Anhänge

Zuletzt bearbeitet:
mir ist grade auch noch aufgefallen, dass das 11. und 15. byte immer gleich sind genau wie das 12. und 16.
 
ich versuche die ganze zeit eine verbindung zwischen anfrage und antwort zu finden aber ich finde keine. ich hab mir auch schon ein bisschen die native library angeschaut. zwischen dem empfang der nachricht und dem senden der antwort werden zufallszahlen erzeugt. die einzige antwort die ich mir vorstellen kann auf die frage, was dieser austausch tut ist eine art von vorbereitung für eine verschlüsselte verbindung. hat vielleicht dazu jemand eine idee?
Ergänzung ()

das 3. byte gibt an, der wievielte client man ist
Ergänzung ()

byte 7: wieviele clients noch frei sind
 
Zuletzt bearbeitet:
Ne, bisher noch nicht.... die Anfragen haben zwar ein Muster, aber die Antworten sind mir ein Rätsel. Sie scheinen zufällig zu sein, aber selbst bei wiederholtem "Brute-Forcen" findet man so schnell keinen Treffer... Hat irgendjemand/du noch eine Idee? Die Drohne läuft auf einem Arm Mikrocontroller, der mit einem Kamera/Wifi modul verbunden ist. Der Controller wartet auf die korrekte Antwort, aktiviert dann das Kameramodul und übergibt den Stream an dieses. Anbei noch der source code, allerdings ist die Datei fehlerhaft und es fehlen wichtige Teile. Außerdem könnte es für ein anderes Produkt sein, obwohl simulus/pearl was anders sagt.

source code link: https://drive.google.com/file/d/0BxeTTvlCTfCFOXYyMlJQV1RVWjA/view?usp=sharing
 
das ist halt eine tochterfirma von pearl, die sich fertigteile aus china gekauft hat und eine andere firma in hongkong beauftragt hat, die app zu erstellen. die hab ich auch angefragt aber keine antwort erhalten... :/
 
Zurück
Oben