Introduction
L'e-scooter est devenu un moyen de transport urbain populaire grâce à sa praticité et son faible impact environnemental. Pourtant, pour les amateurs de technologie et de programmation, ces appareils représentent bien plus qu'un simple moyen de locomotion. Dans cet article, je partage mon expérience de démontage et de réécriture du firmware de mon e-scooter Egret GT en Rust.
Pourquoi le Reverse Engineering ?
L'Egret GT est un modèle haut de gamme avec une autonomie de 100 km et un affichage LCD. Cependant, en tant que passionné de technologie, je voulais comprendre comment il fonctionnait sous le capot. Une fonctionnalité non documentée a éveillé ma curiosité : en maintenant le bouton 'bas' lors de l'allumage, le scooter entrait en mode de mise à jour du firmware.
Analyse de l'application mobile
L'application mobile de l'Egret permet de déverrouiller le scooter, de modifier certains paramètres et de surveiller le niveau de la batterie. En explorant les gestionnaires Bluetooth de l'application, j'ai découvert que le scooter pouvait recevoir des mises à jour de firmware sur plusieurs composants comme l'affichage et le contrôleur. J'ai également constaté que des données non affichées étaient transmises, telles que le temps passé dans chaque mode de conduite et la température de l'appareil.
Exploration de la connectivité USB-C
La documentation du fabricant mentionne que le port USB-C de l'affichage sert uniquement à recharger des téléphones. Mais, en cherchant plus loin, j'ai utilisé une carte de dérivation USB-C pour explorer les possibilités de communication de données. Cette étape m'a permis de mieux comprendre le protocole utilisé et de planifier la réécriture du firmware.
Réécriture du Firmware en Rust
Rust est connu pour sa sécurité mémoire et ses performances élevées, ce qui en fait un excellent choix pour la programmation de systèmes embarqués. La réécriture du firmware en Rust a nécessité une compréhension approfondie des interactions matérielles et de la logique métier du scooter. J'ai pu améliorer la gestion de l'énergie et optimiser la communication entre les composants via Bluetooth.
Bénéfices et enseignements
Le projet a non seulement augmenté la performance de mon e-scooter, mais m'a également permis de sécuriser davantage le système. De plus, cette expérience m'a apporté des compétences précieuses en ingénierie inversée et en programmation bas niveau.
Conclusion
Démonter et réécrire le firmware de son e-scooter est un projet ambitieux, mais avec les bons outils et une bonne dose de curiosité, il est possible de transformer un appareil commercial en un projet personnalisé.
Discutons de ton projet en 15 minutes.