myTIER Forum › Foren › App / Steuergerät / Controller IoT › Akkustand via Bluetooth auslesen
Schlagwörter: Decompiling
- Dieses Thema hat 60 Antworten sowie 7 Teilnehmer und wurde zuletzt vor vor 4 Jahren, 5 Monaten von Goodvibe25 aktualisiert.
-
AutorBeiträge
-
25. Mai 2020 um 16:19 Uhr #3763fionnlaghTeilnehmer
Habe 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.
25. Mai 2020 um 16:34 Uhr #3764MPSv3TeilnehmerDas hört sich mega an! Kannst du ein Tutorial anfertigen für nRF connect? Das ist ja zumindest schon mal ein prima workaround! Wirklich klasse Arbeit!
25. Mai 2020 um 16:42 Uhr #3765careyerTeilnehmerAhh… guter Hinweis! Du meinst also mal mit nRF Connect die beiden Befehle nacheinander auszuführen? Das werd ich mal probieren
- Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von careyer.
25. Mai 2020 um 17:20 Uhr #3767fionnlaghTeilnehmerMakro 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.
25. Mai 2020 um 17:25 Uhr #3768fionnlaghTeilnehmerMakro 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.
25. Mai 2020 um 17:36 Uhr #3769careyerTeilnehmerVielen Dank @fionnlagh . Darf ich fragen welche Version von nRF Connect du benutzt? Ich verwende die iOS App. Dort finde ich nur leider keine Möglichkeit ein Makro zu erstellen? Benutzt du die PC Variante der Software? (Habe ich auch versucht, aber die findet in meinem Laptop leider kein kompatibles BLE Modem).
Ich habe aber auch einige Erkenntnisse sammeln können:
Ich habe mit “LightBlue” für iOS herumprobiert… hier klappt es auch, wenn man den kompletten UTF-8 String sendet (der wird intern eh in HEX umgewandelt). Allerdings klappt es nur, wenn man kurz vorher den Scooter mit der Tier App entsperrt hatte. Nach einer Weile funktionierte es dann plötzlich nicht mehr. Auch cool: Man kann die LightBlue App im Hintergrund laufen lassen und wenn man dann die Tier App öffnet, dann laufen da im Sekundentakt die BKINF Antworten ein…. die Tier App updated die Werte offenbar jede Sekunde.Sperre ich den Scooter wieder ab, dann kann ich kurze Zeit nachher über LightBlue immer noch das BKINF Kommando absetzen und der Scooter antwortet brav. Lasse ich ihn eine Weile stehen antwortet er aber nur mit einem leeren String “” (Not a value)
25. Mai 2020 um 18:39 Uhr #3771fionnlaghTeilnehmerHabe 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 🙂
25. Mai 2020 um 19:02 Uhr #3773careyerTeilnehmerPrima! Das wär wiklich toll, wenn du das mal mit der iOS App vergleichen könntest.
Was für einen ESP32 verwendest du? Bare Bone , NodeMCU.. oder welches Board benutzt du? Welchen Fehler wirft er beim laden des Sketches?
25. Mai 2020 um 19:30 Uhr #3774fionnlaghTeilnehmerHabe 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 ?
25. Mai 2020 um 19:49 Uhr #3775careyerTeilnehmerBestell dir am besten so einen: https://www.banggood.com/ESP32-Development-Board-WiFi+bluetooth-Ultra-Low-Power-Consumption-Dual-Cores-ESP-32-ESP-32S-Board-p-1109512.html?rmmds=myorder&cur_warehouse=CN
Ultra günstig und haben bei mir noch nie Probleme gemacht.
Habe übrigens gerade mit der Adroid Version von nRF Connect probiert:
Tatsächlich… anders als mit der iOS Version kann man hier schicke Makros generieren. Und siehe da…. klappt! 🙂Allerdings erst nachdem ich:
0$\r\n –> 30 24 5c 72 5c 6e
gegen
0$EnterNewline –> 30 24 0D 0A
ersetzt habe!Hatte dich da flasch verstanden…. Jetzt funktioniert es reibungslos und zuverlässig! =)
Geiler Scheiß!!25. Mai 2020 um 20:10 Uhr #3778careyerTeilnehmerIch brech zusammen…. das funktioniert tadellos! =)
Unlock –> Geht!
Lock –> Geht!
Info Abfrage -> Geht auch! …Ich lag also richtig damit, dass man sich hier seitens myTIER einen schlanken Fuß gemacht hat hinsichtlich der Absicherung und die gesamte Sicherheit nur am BT-Passwort festgemacht ist…. aber dass man noch nichtmal ein echtes Pairing benötigt ist schon der Hammer! Geile Arbeit @fionnlagh
25. Mai 2020 um 20:14 Uhr #3779MPSv3TeilnehmerHaben wir denn für iOS eine Alternative App die solche Makros erstellen/ausführen kann?
Echt geiler shit bis hier hin und danke für das Tutorial. Ich bin leider ein wenig zu unbegabt und hab es bis hier hin nicht geschafft.
Ein Makro wo ich mein BT Kennwort einfach eintragen kann wäre natürlich super handy in dem Fall. Kann leider nicht auf android ausweichen da ich keinerlei Devices besitze.
- Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von MPSv3.
25. Mai 2020 um 20:24 Uhr #3782fionnlaghTeilnehmerSchuld 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.
25. Mai 2020 um 20:42 Uhr #3783careyerTeilnehmer@MPSv3: Warte mal ab… bin sicher wir haben hier bald ne Lösung de völlig ohne Handy und App auskommt. So ne Art Funk-Plip wie bei modernenKfz-Schlüsseln. Ansonsten kannst du es mal mit “LightBlue” unter iOS versuchen. Das müsste nach meinen Erkenntnissen auch gehen. Ich hatte nur die \r\n Character falsch interpretiert. (mit den richtigen HEX codes wie von fionnagh weiter oben gepostet funktioniert es).
@fionnlagh: HIGHFIVE!!!! 🙂 Ich mach mir jetzt nen Bier auf!!- Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von careyer.
25. Mai 2020 um 21:49 Uhr #3786careyerTeilnehmer@fionnlagh : Ich teste hier gerade mit einem barebone ESP32. Habe mal einen ESP32 Server Sketch geladen… funktioniert einwandfrei. Vielleicht hat dein Modul einen weg?
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.