Verfasste Forenbeiträge
-
AutorBeiträge
-
fionnlaghTeilnehmer
So.
Möchte erstmal meinen Dank an den Threadersteller careyer geben, da er mich durch seine einfache Frage auf “dumme” Ideen gebracht hat ?
Wir haben nun die Basis dafür, statt der offiziellen TIER-App andere Apps (oder Geräte) zu nutzen.
Das kommt allen gewiss zu gute ?
fionnlaghTeilnehmer@careyer: Jop habe Telegram 🙂
Da Links mist sind, hier der QR Code zum beitreten.
fionnlaghTeilnehmerHabe es mit meinem odroid go (Auch ESP32 basiert) nun geschafft:
h ttps://www.youtube.com/watch?v=BsDhNsYm_GY
Die “Grundfunktionen” funktionieren soweit 🙂
- Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von fionnlagh.
fionnlaghTeilnehmerGetestet: an der Arduino-Installation liegts auch nicht. Habe es auf nem anderen PC mal installiert (Linux). Auch Crash-Loop… Hätte ich gewußt, dass der ESP32 müll ist, hätte ich mir die 10€ gespart..
fionnlaghTeilnehmer@Careyer; Habe mal andere Sketche ausprobiert.. Hall-Sensor z.b. funktioniert ok.
Eben ist mir was interessantes ausgefallen: Eben nochmal mit dem Beispiel-Sketch “SimpleBleDevice” gespielt -> Der ESP stürzt etwa 30 mal hintereinander ab, plötzlich läuft der Sketch und funktioniert. Wtf?
Wenn ich nach dem Crash google, wird mir geschrieben, dass dies ein bekannter Bug ist, der bisher noch nicht gefixt ist. wtf..
Am Chip selbst wirds wohl nicht liegen, immerhin konnte ich mit der offiziellen AT-Firmware sowohl Wifi als auch BLE gleichzeitig nutzen, ohne Crash.
Vielleicht werde ich es mal mit dem Odroid Go probieren. Hat ja bereits Tasten, n Display und Batterie 😀
fionnlaghTeilnehmerSchuld kann man wohl eher dem Dienstleister geben, der die Box entwickelt hat 😉
Aber joa..
Wenn man bedenkt, dass n Sniffer es nun sehr leicht hat, unser Passwort zu erbeuten, sobald wir die offizielle App offen haben.. weil’s einfach mal unser Passwort in Kombi mit AT+BKINF rumschreit..
Dagegen ist der Ansatz, den Scooter mit nRF Connect zu entsperren, ein Flüstern 😉
Hier aber meine Bedenken: Ich hoffe, dass TIER bei den echten Verleihscootern nicht genau den selben kram zum Entsperren benutzt. So wie ich das verstehe, könnte das Kommando “BKSCT” auch über das interne LTE kommen (Sprich: per Cloud), wenn man einen entsperrt..
Wenn nicht, habe ich wohl soeben jedem eine Freifahrt geschenkt. O_O
Habe es mal getestet. Leihscooter strahlen das selbe aus wie unsere MyTiere. Wenn die (internen) Passwörter die selbe Länge haben.. oder es gar n Masterkey gibt und der Scooter nicht mal wen für falsche Passwortversuche bestraft…. Sch…e
Ich konzentrier mich lieber auf das wesentliche und .. keine Ahnung.. bau ne schicke App inkl. Tacho. Nutze alles, was BKINF zurück gibt 😀
Wäre dann meine erste App. Ever.
Auch @Admin: Das Captcha nervt. Ich empfehle klar eine “ordentliche” Forensoftware. Add-On für WordPress tuts nicht.
fionnlaghTeilnehmerHabe diesen:
Klicken Sie auf den unteren Button, um den Inhalt von anleitung.joy-it.net zu laden.
Beim großen blauen C gekauft. Habe auch noch n Odroid Go.Das hätte auch Stil, mim Gameboy das ding entsperren ?
Das Kompilieren und Hochladen des Sketchs geht ohne Fehler. Wenn der esp32 aber bootet, stürzt dieser mit ner unhandled exception ab, sobald er BLEDevice::init ausführt. Scheint n alter Bug zu sein, der durch das einschalten von Debugging “umgangen” wurde.
Hat genau ein mal funktioniert, danach wieder Crashkarrussel. So wirddatnix ?
fionnlaghTeilnehmerHabe Android 😉
Da ich von der Arbeit aus n iPhone bekommen habe, könnte ich da mal schauen, in wiefern dies anders ist.
Aber hey leute, gibtn Grund zu feiern 😉
Wenn mir jetzt noch jemand sagt, warum mein esp32 abstürzt, sobald ich auch nur ein Beispielcode zum Thema Bluetooth LE drauf laufen lasse, bau ich mir n physischen Tier-Schlüssel 🙂
fionnlaghTeilnehmerMakro für nRF Connect:
Erstellt ein Makro. im ersten Schritt sendet ihr den Befehl + euer Passwort + ein Komma,
im zweiten sendet ihr das Argument (z.b. 0 oder 1)Erster Teil:
[z.b. AT+BKSCT=(passwort),]AT+BKSCT=(passwort), “Security” schaltet man aus (0 = Entsperrt)
AT+BKLED=(passwort), LED sagt schon aus
AT+BKINF=(passwort), Info über den ScooterWichtig ist das Komma hinter dem Passwort.
Zweiter Teil: (Als Byte Array senden!)
0x30240D0A -> 0$ und Enter
0x31240D0A -> 1$ und EnterIst Fleißarbeit, aber es klappte, wenn ich die Befehle nicht als normalen Text sende, sondern als “Byte Array”. Vielleicht gibt er sich auch zufrieden, wenn man nur den zweiten Teil als “Byte Array” übergibt, wegen den Steuerzeichen.
fionnlaghTeilnehmerMakro für nRF Connect:
Erstellt ein Makro. im ersten Schritt sendet ihr den Befehl + euer Passwort + ein Komma,
im zweiten sendet ihr das Argument (z.b. 0 oder 1)Erster Teil:
[z.b. AT+BKSCT=(passwort),]AT+BK 41542B424B Hiermit beginnt der Befehl
SCT= 5343543D “Security” schaltet man aus (0 = Entsperrt)
LED= 4C45443D LED sagt schon aus
INF= 494E463D Info über den Scooter(passwort), (Passwort in Hex hier rein)+2C
[Wichtig hier, nach dem Passwort kommt ein Komma, also Hexadezimal 2C]Komplett also: 41542B424B5343543D(Passwort in Hex)2C
Zweiter Teil:
0$\r\n 30240D0A 0 und Enter
1$\r\n 31240D0A 1 und EnterIst Fleißarbeit, aber es klappte, wenn ich die Befehle nicht als normalen Text sende, sondern als “Byte Array”. Vielleicht gibt er sich auch zufrieden, wenn man nur den zweiten Teil als “Byte Array” übergibt, wegen den Steuerzeichen.
fionnlaghTeilnehmerHabe nochmal mit nRF Connect gespielt.
Timing ist wichtig! Erstellt euch n Makro, welches beide Teile des Befehls kurz nacheinander sendet.
Ich habe also soeben meinen Scooter mit der nRF Connect Anwendung entsperren und wieder sperren können.
fionnlaghTeilnehmertipp, mit \r\n meine ich Steuerzeichen oder ein klassisches “Enter”
Ich hatte irgendwie mit nRF Connect es auch mal probiert (Den ganzen Befehl hexadezimal eingegeben).
Was mir beim Schnüffeln auch auffiel, dass die Befehle in 2 Schritten gesendet werden:
1. AT+BKINF=btpasswort,
2. 0$/r/n
Vermutung liegt nahe, dass das Bluetooth LE Interface nur 20 Bytes auf einmal empfangen kann.
Habe noch was weiteres versucht. Ich erinnere mich an Höllenhund, der die IoT Box ja ausgelesen hat. Sowas könnte ich auch, jedoch sind mir die Spannungen, das Pinout des Anschlusses und die Baudrate unbekannt. Wäre lustig, so könnte man noch weitere Befehle probieren. Ich bin durchaus im Besitz zweier CP2102 UART Wandler 🙂 🙂 .. In der “Gebrauchsanweisung” der IoT-Box (die man bei FCC bekommt) steht z.b. n AT-Befehl, der NFC aktivieren soll… Wäre nice.
fionnlaghTeilnehmerIrgendwie kann ich nicht editieren…
Zum obigen Beitrag folgende Ergänzungen:
Parameter 1 ist der Status der Wegfahrsperre (1 = ist an, 0 = ist aus)
Parameter 7 ist Aktivierungsstatus (0 = ist gesperrt Display ist aus, 1= ist entsperrt und Display zeigt was an)
fionnlaghTeilnehmerHab weiter getestet..
Die Ausgabe des Befehls AT+BKINF gibt folgendes in der Reihenfolge zurück:
+ACK:BKINF,0,0.0,0.00,1634.4,7,57,1$ oder +ACK:BKINF,0,21.3,0.00,1634.4,9,57,1$
- Ist scheinbar immer 0
- Aktuelle Geschwindigkeit, wie sie auf dem Scooter Display angezeigt wird (KM/h. Hatte meinen aufgebockt zum testen)
- (Vermutlich) Gefahrene km seit Entsperren. Beginnt nach Entsperren bei 0, zählt dann beim Beschleunigen hoch.
- (Vermutlich) Gefahrene Kilometer seit Inbetriebnahme? Zählt wie der vorherige Wert auch hoch, setzt sich beim Sperren nicht zurück, ist bei meinem Scooter auf (eben diesem) Wert
- Der Wert zählt irgendwie +1, sobald das Rad sich dreht und der Befehl AT+BKINF ausgeführt wird. Zweck unbekannt, vermutlich Startgeschwindigkeitskontrolle?
- Akkukapatizät in %
- 0 wenn Wegfahrsperre aktiv (Gesperrt), 1 wenn nicht(Entsperrt)
fionnlaghTeilnehmerSo, ich habe eine etwas andere Herangehensweise versucht:
2 PCs, 2 Bluetooth Dongles und die Software “btlejuice”. Ich habe mich also zwischen den E-Scooter und meinem Handy geschaltet.
Folgendes habe ich rausgefunden:
1. Handy verbindet sich per Bluetooth LE (mit einer zufälligen MAC) mit dem Scooter, offenbar ohne Sicherheit bzw Pairing 😉
2. Sobald die beiden verbunden sind, wird an das Charakteristika 0x2c10 ein AT-Befehl gesendet, der den Akkustand etc.. ausliest. Dies sieht so aus: AT+BKINF=(Bluetooth Passwort),0$\r\n. Geantwortet wird via Notification auf dem gleichen Kanal mit “+ACK:BKINF,1,0.0,0.00,1634.4,0,57,0$\r\n” . In diesem Fall hat mein Scooter ein Batteriestand von 57%. Was die anderen Werte sind, weiß ich nicht (Vielleicht Geschwindigkeit? 🙂 )
3. Sperren und Entsperren des Scooters: Er sendet an 0x2c10 den Befehl AT+BKSCT=(Bluetooth Passwort),0$\r\n (bzw 1), die Antwort: “+ACK:BKSCT,0$\r\n”
Ich denke, damit lässt sich arbeiten 😉
-
AutorBeiträge