Smart Services Reverse Engineering

JimmyN
Beiträge: 6
Registriert: Mo 24. Feb 2025, 15:10
Roller: Znen E-cruise + Segway E300SE
PLZ: 1
Land: CH
Kontaktdaten:

Smart Services Reverse Engineering

Beitrag von JimmyN »

Hallo Alle
Zuerst möchte ich mich für mein Deutsch entschuldigen, ich übersetze aus dem Englischen.

Vor einem Jahr habe ich mir einen Segway E300SE gekauft. Ich bin begeistert von dem Roller, aber nicht von Smart Services. Er funktioniert zwar recht gut, kommuniziert aber ständig mit einem chinesischen Server, was mir nicht gefällt. Auch die Abhängigkeit von Segways SIM-Anbieter finde ich nicht gut.

Also beginne ich mit einem Projekt. Der MCU-Chip auf der Platine der Telematikbox ist eine STM32G07-Variante, für die es keine öffentlich verfügbaren Exploits zum Ausleseschutz gibt. Aber keine Sorge, Segway hat vergessen, ihn zu aktivieren! Wir können die Firmware von dieser Telematikbox herunterladen, das SSL-Zertifikat und die MQTT-Adresse ändern und die Firmware erneut auf die Platine flashen.

Außerdem muss der ESIM-Chip von der Platine abgelötet werden, damit der SIM-Kartensteckplatz funktioniert. Sobald dies erledigt ist, verbindet sich das Gerät mit Ihrem eigenen MQTT-Server und beginnt mit der Übertragung von Telemetriedaten. Ich werde diesen Thread zu gegebener Zeit aktualisieren, wenn ich bestimmte Dinge erreicht habe. Am Ende wird alles Open Source sein, sodass diejenigen mit abgelaufenen Telematikboxen und diejenigen mit den gleichen Problemen wie ich beruhigt sein können.

erdi01
Beiträge: 211
Registriert: Mi 1. Jun 2022, 10:05
Roller: Segway E300SE Launch Edition
PLZ: 821
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von erdi01 »

Du wirst hier sicher irgendwann als Held bekannt sein, wenn Du damit Erfolg hast. Danke schon mal im Voraus!

JimmyN
Beiträge: 6
Registriert: Mo 24. Feb 2025, 15:10
Roller: Znen E-cruise + Segway E300SE
PLZ: 1
Land: CH
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von JimmyN »

Ich beginne mit dem Dumping der Firmware. Dies geschieht mit einem ST-Link v2, der an die entsprechenden Programmieranschlüsse angeschlossen ist (siehe Abbildung unten). (Ich habe ein PCBite-Pogo-Pin-Setup verwendet, da ich nicht an mein Originalgerät löten wollte.)
Sie können anschließend OpenOCD oder stm32cubeprogrammer verwenden, um ein Firmware-Image zu extrahieren.
https://i.imgur.com/ZCUR3CS.png
https://i.imgur.com/dYFHxOQ.png
https://i.imgur.com/RzePvyi.png

Nachdem dies erledigt und der MQTT-Server eingerichtet ist, sendet das Moped ständig NTP-Anfragen an den Server. Ich nehme an, das ist die Art und Weise, wie sich das Moped zuerst beim Server anmeldet.

Ich habe das richtige Antwortformat herausgefunden und eine korrekte NTP-Antwort erstellt. Das Moped begann daraufhin, alle Telemetriedaten zu senden: GPS, Batterie, Mopedstatus, Netzwerkstatus!

Hier sind einige Nachrichten, die mir das Fahrzeug gesendet hat. Ich gebe keine vollständigen Protokolle frei, da diese verschlüsselte Seriennummern enthalten. Bei Interesse und weiterer Zusammenarbeit können Sie mir jedoch gerne eine Direktnachricht auf der Website senden.

Code: Alles auswählen

ntp request on: /ext/ntp/bfFWN1IZ/8681050xxxxxxx/request
publishing on /ext/ntp/bfFWN1IZ/8681050xxxxxxx/response: 04d400dc6fc918a300dc681a257900dc681a2579
sent ntp response
seq number: 1236
device time: 00dc6fc918a3
server receive time: 1746543993
server send time: 1746543993
/ext/ntp/bfFWN1IZ/8681050xxxxxxx/response: 30346434303064633666633931386133303064633638316132353739303064633638316132353739

Benutzeravatar
Schnabelwesen
Moderator
Beiträge: 1899
Registriert: So 14. Mär 2021, 22:18
Roller: E-Kuma Sun S / Trinity Neptun
PLZ: 2411
Wohnort: Kiel
Tätigkeit: Werkstatt für E-Roller und Artverwandte als
Kleinunternehmen tl-elekTiCK - ein Tick für Tricks
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von Schnabelwesen »

Wow, dann hast du ja Erfolg! Diese Methode sichert auch die Unabhängigkeit von Segway, falls da mal die Server abgestellt werden. Danke, dass du das OpenSource machst. Trotzdem werden einige User Unterstützung brauchen.
Schöne Grüße, Bertolt
E-Kuma Sun-S 2022 - Scheibe, Topcase, Heidenau K58
ATU Explorer E-Cruzer 2019 - 40Ah, Lingbo 72152HK5 mit Display, Scheibe, City Grip 2
Trinity Neptun - GTK-Doppelakku á 20s10p, smartes BMS, LingBo 72152
Trinity Uranus 2015 - 28Ah LiIon (in Wartestellung)
Vectrix VX-1 von 2010 - LiIonNMC 36s 173Ah mit Daly Smart-BMS in Arbeit

JimmyN
Beiträge: 6
Registriert: Mo 24. Feb 2025, 15:10
Roller: Znen E-cruise + Segway E300SE
PLZ: 1
Land: CH
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von JimmyN »

Natürlich. Ich möchte, dass dies für jeden leicht zugänglich ist, unabhängig von seinem technischen Kenntnisstand. Elektroschrott ist nicht OK.

Mein Ziel ist ein vollständiger Ersatz der Segway-Dienste durch eine "React Native" App zur Steuerung des Fahrzeugs über BLE und 4G. Ich hoffe, Frontend-Designer für die Zusammenarbeit an diesem Teil des Projekts zu finden.

Ich habe auch begonnen, das Moped-BLE-Protokoll zu verstehen, das auf dem ninebot Escooter-5AA5-Protokoll basiert. Scooterhacking unterstützt mich dabei.

Die weitaus schwierigere Aufgabe besteht darin, Befehle an das Gerät zu senden mit MQTT. Damit habe ich gerade erst begonnen.
Meine Zielliste finden Sie hier (Englisch): https://i.imgur.com/fXpUzqK.png

Vielen Dank für Ihr Feedback

JohnnieWalker
Beiträge: 4
Registriert: Di 22. Nov 2022, 16:41
PLZ: 2
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von JohnnieWalker »

Das klingt wirklich vielversprechend! Ich würde noch vorschlagen, dass das Ladelimit verändert werden kann. Ohne Smart Service geht das leider nicht und jetzt kann ich z.B. nur noch 90% aufladen.
Gibt es dazu ein Github-Link?

JimmyN
Beiträge: 6
Registriert: Mo 24. Feb 2025, 15:10
Roller: Znen E-cruise + Segway E300SE
PLZ: 1
Land: CH
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von JimmyN »

JohnnieWalker hat geschrieben:
Mo 19. Mai 2025, 14:35
Das klingt wirklich vielversprechend! Ich würde noch vorschlagen, dass das Ladelimit verändert werden kann. Ohne Smart Service geht das leider nicht und jetzt kann ich z.B. nur noch 90% aufladen.
Gibt es dazu ein Github-Link?
Ich hoffe, in den kommenden Wochen einige grundlegende BLE-Funktionen zu haben, die Ihre Probleme lösen könnten. Ich habe viele BLE-Befehle gefunden, die in der Segway-App selbst nicht angezeigt werden.

Ich bin noch weit davon entfernt, das Protokoll vollständig abzubilden, um feinere Befehle wie diese über MQTT senden zu können. Das ist schwieriger als BLE, da ich die Firmware zurückentwickeln muss und nicht nur eine Android-App.

Was GitHub betrifft, werde ich es zu gegebener Zeit veröffentlichen, sobald ich die Struktur des Projekts vollständig geplant habe. Auch für die erforderlichen kleinen Hardware-Änderungen (Entfernung des E-SIM-Chips) müssen ausführliche Anweisungen geschrieben werden.

Nochmals entschuldige ich mich für die schlechten Übersetzungen. Ich werde einfach anfangen, auf Englisch zu schreiben, wenn mir jemand sagt, aber ich fühle mich schlecht, wenn ich in einem deutschen Forum Englisch schreibe. :lol:

erdi01
Beiträge: 211
Registriert: Mi 1. Jun 2022, 10:05
Roller: Segway E300SE Launch Edition
PLZ: 821
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von erdi01 »

Deine Texte sind fehlerfreier, als manch andere hier :lol:
Nahezu perfekt.
Ich kann nur schon mal danke sagen. Das ist sicher nicht selbstverständlich, dass sich da jemand so engagiert und am Ende viele davon profitieren können.

P.S.: ich würde auch spenden, wenn ich irgendwann durch Deine Erkenntnisse z.B. auch den Lastausgang der Akkus freischalten könnte, ohne dass sie im Roller sind. :D

Jemand
Beiträge: 466
Registriert: Di 12. Jul 2022, 17:05
Roller: Segway E110SE + E300SE
PLZ: 60
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von Jemand »

Hoffentlich veröffentlich Segway keine neue Firmware, die den Chip schließt. In der Vergangenheit hat Segway oft die Firmware angepasst, wenn es öffentliche BLE Codes gab.

Interessant wäre auch, ob es versteckte Funktionen gibt, wie z.B. die Akkuheizung oder so.

JimmyN
Beiträge: 6
Registriert: Mo 24. Feb 2025, 15:10
Roller: Znen E-cruise + Segway E300SE
PLZ: 1
Land: CH
Kontaktdaten:

Re: Smart Services Reverse Engineering

Beitrag von JimmyN »

Jemand hat geschrieben:
Mo 19. Mai 2025, 18:24
Hoffentlich veröffentlich Segway keine neue Firmware, die den Chip schließt. In der Vergangenheit hat Segway oft die Firmware angepasst, wenn es öffentliche BLE Codes gab.

Interessant wäre auch, ob es versteckte Funktionen gibt, wie z.B. die Akkuheizung oder so.
Segway macht solche Sachen ständig. Diese Situation ist jedoch ein Glücksfall: Da RDP standardmäßig deaktiviert ist, können wir so viele Firmware-Images sichern, wie wir benötigen. Sollte Segway es in Zukunft aktivieren, können wir weiterhin alte Firmware-Images flashen.

Antworten

Zurück zu „Segway“

Wer ist online?

Mitglieder in diesem Forum: OIIIOIIIO und 14 Gäste