Rusting An E-scooter (In A Good Way)


It is a traditional Hackaday circumstance. You have an Egret GT E-scooter. It has a screen that reveals the typical dash statistics, however that caused an inconvenience. You might mistakenly get in firmware upgrade mode and, from there, get in functional mode without the security PIN. [Ben] could not let that stand, so he reverse-engineered the procedure andrewrote the firmware in Rust As he put it, “… since I need to break … whatever I own …” We get it.

The mobile app worked for some standard information, considering that smelling Bluetooth is relatively simple and examining mobile code is, basically, simple. Analysis exposed some information that does not reveal on the screen which a number of things are returned to online tagged with the scooter’s distinct ID– another factor to gut the existing firmware.

Internally, the scooter utilizes the CAN Bus, so out came the oscilloscope and a homebrew CAN decoder. Surprisingly, the CAN bus is available on the USB-C port’s information pins. Officially, the port is just for charging phones, so you need to question what your phone make from the alien signals on the information pins when it is charging.

Firmware updates really can be found in a minimum of 3 tastes: screen, input panel, and primary controller. Reverse engineering the firmware upgrade procedure was important to setting up the brand-new firmware.

If you own a comparable scooter, this post is a goldmine. If you do not, it is still an extremely in-depth breakdown of a reverse-engineering workflow, and you can use a number of the tools and methods to your next task.

Of course, another choice is to simply keep the scooter andreplace the brains If you wish to discover more about reverse engineering, there are actually lots of Hackaday posts to assist you begin.



Source link