No, no reason to unless you have something you don't want reverse engineered. The first stage is part of the Chinese firmware, it's just there to make it hard to understand what it's doing. It handles that decryption step.
The first thing the startup code does is initialize the hardware, copy the contents of flash memory into RAM, and start the main function. We get the identifier of the flash memory. The chip voltage rises and the clock frequency rises to 333 MHz. In this mode, we can no longer work with flash memory. Perhaps the decryption algorithm expands the flash ID as a key into block 0x100, but perhaps this is the context for the decryptor.
It's not a problem to brute force the ID. The ID is already there. Problem with decryption algorithm. Is it a standard, known algorithm or proprietary?
It's not a problem to brute force the ID. The ID is already there. Problem with decryption algorithm. Is it a standard, known algorithm or proprietary?
It looks like they’ve already incremented the second byte by one and I expect that the initial E6 will change once they’ve exhausted the second byte, so I think all 64 bits are fair game here.
Didn't look for the JEDEC standard describing these IDs (paywalled) but it's likely 32 bits serial number and everything else is manufacturer id and production date. Not very random at all.
No, no reason to unless you have something you don't want reverse engineered. The first stage is part of the Chinese firmware, it's just there to make it hard to understand what it's doing. It handles that decryption step.
There is no such thing as a Chinese firmware because the firmware wasn't developed by anyone in China.
Someone from gbatemp mistranslated a post from a foreign site that was calling the waveshare pi pico boards the "chinese boards" because the blank pcb boards are made in China.
Please stop repeating this as it is misinformation.
If someone is interested on the Pico related boards, a must have tool is the PicoTool (https://github.com/raspberrypi/picotool) but the tool needs compilation to use.
Install the version corresponding to your Operating System (64 or 32 bits).
Accept the defaults in installation program of MSYS2 once you finish the installation you will have shortcuts for MSYS2, MinGW32 and MinGW64. MSYS2 is used to compiling POSIX binaries for Linux from Windows.
MinGW32 & MinGW64 compile Native Windows binaries using a linux toolchain (gcc, bash, etc.)
Launch MSYS2 shell and execute the command: pacman -Syuu several times until you get the message: "there is nothing to do".
After you have a MSYS environment set up you need to Install Build prerequisites following these steps:
Seems what was upon a time when the libusb of Mingw had a error and you need to install an old version, that can be acomplished using:
Bash:
cd ~
wget https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libusb-1.0.26-1-any.pkg.tar.zst
pacman -U --noconfirm https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libusb-1.0.26-1-any.pkg.tar.zst
Then you need to setup the Pico-SDK and the Pico-Examples needed to successfull compile:
Bash:
cd ~
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git
export PICO_SDK_PATH=~/pico-sdk
You can be sure all is setup to go running these commands: gcc
Result:
Bash:
gcc.exe: fatal error: no input files
compilation terminated.
ld
Result:
Bash:
C:\msys64\mingw64\bin\ld.exe: no input files
make
Result:
Bash:
make: *** No targets specified and no makefile found. Stop.
mingw32-make
Result:
Bash:
mingw32-make: *** No targets specified and no makefile found. Stop.
echo $PICO_SDK_PATH
Result:
Bash:
/home/<YOURUSER>/pico-sdk
and now you are ready to start the building process:
Bash:
cd ~
git clone -b master https://github.com/raspberrypi/picotool.git
cd picotool
mkdir build
cd build
cmake -G "MSYS Makefiles" -DPC_LIBUSB_INCLUDEDIR="/mingw64/include/libusb-1.0" ..
make -j
The last step is to copy the needed external libraries to the same folder of the new build executable, you need to take them with the Exe file if you like to use outside the MSYS environment.
$ ./picotool.exe info
No accessible RP2040 devices in BOOTSEL mode were found.
but:
Device at bus 2, address 1 appears to be a RP2040 device in BOOTSEL mode, but picotool was unable to connect. You may need to install a driver. See "Getting
started with Raspberry Pi Pico" for more information
It’s about that time of year again where I check in with the community to see if we can get the front page aligned with what people are interested in knowing and what...
The long awaited Grand Theft Auto VI Extended Look gameplay trailer has finally dropped on YouTube. As you all know, it had dropped 6 hours earlier on Netflix, and...
After being announced last week, the first of two broadcasts is set to go live later today with a stark focus on The Legend of Zelda and its 40th anniversary...
It's that time again folks, an update for the Switch and Switch 2, and a surprisingly big one at that! At lease for folks on the Switch 2. The most notable feature...
It is with a heavy heart that I announce the departure of our beloved Chary from the position of Chief Editor. Chary took over early 2021 and has done a wonderful job...
The second of a two-part special, a more traditional Nintendo Direct is set to air today. Unlike the Zelda Direct the contents of this one is still relatively up in...
To celebrate its 25th anniversary, XBOX has launched pre-orders for the XBOX 25th Anniversary Collection. For the occasion, the trailer below was aired.
This...
Over the weekend a number of Switch and Switch 2 related subreddits came alive with people reporting bans on their Switch 2 consoles out of nowhere. The error code...
After an accidental leaking of their review video from Linus Tech Tips last week, we somewhat knew that news on Steam's latest VR venture was imminent. Today the...
After more than a year, Mario Kart 8 Deluxe has gotten a fresh update with a focus on the Switch 2, and it's surprisingly meaty. For those Switch 2 players, they'll...
It’s about that time of year again where I check in with the community to see if we can get the front page aligned with what people are interested in knowing and what...
After being announced last week, the first of two broadcasts is set to go live later today with a stark focus on The Legend of Zelda and its 40th anniversary...
It's been something of a quiet week in the gaming space, with the deluge of big hitters trying to find their place before GTA 6 launches really kicking off next week...
The long awaited Grand Theft Auto VI Extended Look gameplay trailer has finally dropped on YouTube. As you all know, it had dropped 6 hours earlier on Netflix, and...
It is with a heavy heart that I announce the departure of our beloved Chary from the position of Chief Editor. Chary took over early 2021 and has done a wonderful job...
The second of a two-part special, a more traditional Nintendo Direct is set to air today. Unlike the Zelda Direct the contents of this one is still relatively up in...
After an accidental leaking of their review video from Linus Tech Tips last week, we somewhat knew that news on Steam's latest VR venture was imminent. Today the...
Announced a few days ago, Nintendo of America have today launched their Customer Appreciation Sale. Featuring 30% discounts across a wide range of popular first-party...
From my post earlier this week you probably already know which game I'm talking about. Fire Emblem released yesterday to some pretty rave reviews. Looking at...
A few days ago Chary stepped down as Chief Editor after 5 wonderful years, and everyone guessed the seat wouldn't stay empty for very long. Back in 2021 I proudly...