-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
downgrade firmware #6
Comments
I think in theory it should be possible and it would be so cool to have tough it will require lots of reverse engineering. I actually already looked into this a bit but I sadly have very limited time atm and beside that I'm very new to debugging bluetooth devices so with only my effort it will probably take a very long time :(. |
Maybe @quintenadema can help with some information about the bikes upgrading process? :) |
I have fully reverse engineered the OTA firmware update/downgrade process but the issue is that the OTA firmware manager uses a version table where they have blocked downgrades from 1.8.1 to a lower FW. I'm currently working with some other smart people to decipher the firmware files that I intercepted and try to change the version number of a 1.7.6 file to a higher number than 1.8. |
Hi @quintenadema, are you able to send over some of those firmware payloads you are working with? I would love to take a look and see if I can discover anything new. |
@tjhorner I and probably @sanderDijkxhoorn can also provide you with a firmware update if you want to help! If you get in contact via discord I can send you the a firmware update file (for version 1.8.1) @sanderDijkxhoorn do you also still have the firmware update file? |
I do still have the update file, I could share it with you over Discord since I am not sure if it contains any personal information. Discord: |
Just sent you both a friend request on Discord. I'm in the middle of moving but once I'm settled in I will see what I can learn from the firmware. |
If you guys make any progress on this, please share it here. |
People are offering downgrades as a service now on marktplaats so it seem someone somewhere has made progress. Actually, the pictures in their ads show hardware that seems propietary vanmoof so it could be ex-employees. |
Interesting, I did not find any promising result for "vanmoof downgrade". What did you search for? |
https://link.marktplaats.nl/m2083960545 ex^ I have not seen anyone provide actual proof of this working except for the ex employees providing this illegally with their work phone they still have. Downgrading firmware doesn’t seem super hard if you take a look at how the bell upload works. I just have no interest in looking at it since I’m on a perfect firmware anyways. |
that one looks a bit scammy but this one looks legit. I specifically asked to check if he could only replace or also actually downgrade, and he can also downgrade my already upgraded cartridge. I asked what info he could share and he said he uses his laptop, no more info unfortunately. |
“Moofon”, in Amsterdam someone is offering many kind of reparation services and has the same hardware for cable testing too. |
@mjarkk I sent you and @sanderDijkxhoorn request on Discord. |
Hi, what is your discord username? I have a ton of requests. Might be better to join the Discord group from the readme Discord |
what is your discord username? I have a ton of requests. Might be better to join the Discord group from the readme Discord My Discord is: vangelisb_ |
I'm on 1.9.3 and would love to downgrade, last firmware has caused my e-shifter to not work properly. If you find a solution to downgrade then please work on it and share! Thanks |
I've witnessed a working downgrade on my cartridge. I felt it wasnt fair to ask his entire process nor do I expect he would tell me as it's his business, but he explained it's a physical connection through the port that's behind the rearlight (so not the front socket of the cartridge). So the person that has solved it, did not go the OTA route. |
Hmm can you elaborate further? I think they have used the JTAG connector to flash the firmware. (Check the image below) But I question how they got the whole dump as the MCU is fused and the OTA binary only contains the control firmware, and not the OTA bootloader. I have a cartridge that works and that I can prototype on. Have plenty of time and would love to get this to work. Can anyone send me the files? |
I wish I could help. You could try and ask him directly though. Perhaps he will tell you something that is of use, he's a very friendly guy. I think you're right re: JTAG. He described it as a debugging port which I think from a quick google now is what JTAG is. |
Hi guys! I saw that some of you have an update file for the bike. Can someone share it please? You can do this through discord, or telegram. My username is: dabload |
You can download the update File trough the API. Like the App does. But it is encrypted. Also the pak File is definitely to small to include everything. My File for 1.8.3 to 1.9.1 part 1 is 283464Byte Can someone look up if the crc sums are the same? But without the First Update you do not get the second File. I am currently focusing on the STM32C0 on the BMS because there are better tools available to get the code from it. The Module does have the better STM32F4 but there are also Tools available to dump the Firmware. If you can dump the Firmware 1:1 you can play with it in an Emulator and of course reflash it via the JTAG Port. The STM32 only prevents you from reading the memory, it does not prevent you to overwrite the content. Sadly i do not have a spare Module nor a cable Tree to Try things out. So i will focus on the BMS because i have two spare Battery's. @DabLoad i send you a Discord invite. |
Hey, maybe a bit late. Just like said before it's possible to get the files through the API. I believe that there is some kind of check with uploading older firmware versions using bluetooth where it rejects every version below 1.8.1. I think that even if someone over here can get their hands on the decrypted firmware that there will be no way to distribute it using bluetooth since you need to find out how to get the key to encrypt them. You're able to overwrite any component firmware version using the debug port. I know how to do this but I only need the decrypted firmware. I believe you can get it by desoldering the memory chip and reading it with an eeprom reader and then dumping the file. I personally don't have a cartridge to sacrifice to test if I can extract the firmware. |
I don't think that's real, sounds more like if the bike supports 37 km/h then it will work. They also use a screenshot of Moofer, why wouldn't they use one of their own app? Sounds a bit fake to me. |
It’s questionable yeah. See what he says
…On Thu, 1 Aug 2024 at 15:31, Tim Kunst ***@***.***> wrote:
I don't think that's real, sounds more like if the bike supports 37 km/h
then it will work. They also use a screenshot of Moofer, why wouldn't they
use one of their own app? Sounds a bit fake to me.
—
Reply to this email directly, view it on GitHub
<#6 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEF37Q6W5NKUYL26PUJBJLZPI2EPAVCNFSM5XVWYS42U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRWGMYDKNJRGAYA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
From what i know it is not possible to downgrade via BT. So to flash anything lower then 1.8.1 you need to use the JTAG Port and write the firmware to the STM32F4 MCU. But first you would need that specific firmware unencrypted or the decryption key. I made progress. I actually got the V004 Firmware from the BMS. |
Yeah I also thought that it isn't possible. I think the easiest way of getting the decrypted firmware is by reading the memory chip. Great progress with the BMS firmware. What are you planning to achieve with the BMS firmware? |
There are many things to explore. I am particularly interested in:
This is a deep dive into hardware hacking and reverse engineering for me. I hope to buy a cable tree in two weeks. I am still looking for a module. For now, I only want to read the SPI chip from my personal module and leave it at that. I don't think that this will work. If the ROP is set to 1 or 2, you can not read the running memory. Furthermore, my Update Part 1 mentioned above is 283,472 bytes total. The STM32F4 MCU which VM used in the Module only features 256Kilobyte of SRAM. 64Kilobytes from the 320Kilobytes are reserved for the MCU System, so the encrypted update would nor even fit into the SRAM for storage, let alone for decryption. The MCU also does not feature a bank system to swap boot banks. But it can boot from an external SPI Memory. Further things to tinker with:
|
I took a look at a what you can see using the debug port (don't know the official name). It shows me the following things:
You can overwrite them all separately. |
The Port is called JTAG. The File itself.
I compressed the bms Firmware. If the update file contains the whole firmware it seems a bit to small. So it is encrypted and compressed? I am still trying to find out if my assumption is correct that the Module MCU can even boot from the SPI Flash. |
This comment was marked as off-topic.
This comment was marked as off-topic.
how? wireless / bluetooth or jtag? using a computer or a special device? |
This comment was marked as off-topic.
This comment was marked as off-topic.
I can do a downgrade to 1.07.02 for some of you, if you can send your cartridge to Netherlands |
I can do also downgrade |
This comment was marked as off-topic.
This comment was marked as off-topic.
It isn't a special device, it's a UART to USB adapter which he connects to the bike and to a laptop / pc. Then you can upload the firmware if you have the decrypted firmware file, which almost nobody has. |
I can also fix err 23 ))) |
Guys, let's just keep it downgrade related |
I can share this files of the 1.7.6 , 1.7.2 and 1.7.1 ( 20,000 E)) |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
@zonatesla can you send me the files via Discord/Telegram? |
@zonatesla If they are decrypted can you share them with anyone within this thread so we can make it hopefully available for everyone to downgrade their main firmware. |
Can anyone here make a firmware dump of the main bike firmware as that's where i think the logic is that blocks the unlimited speed option. |
This comment has been minimized.
This comment has been minimized.
I think he did this: https://hackaday.com/2023/02/05/need-to-dump-a-protected-stm32f0x-use-your-pico/ |
No need for this. @mjarkk I have it in the PACK Format. Something unknown. I just did not find a way to separate the one File into the Firmwares. It is not compressed and it contains the filenames plus the Order at the end. |
would it be possible to add a feature that helps you downgrade the software installed on a bike?
The text was updated successfully, but these errors were encountered: