Hacking Hardware Picofly - a HWFLY switch modchip

SylverReZ

I am funny
Member
GBAtemp Patron
Joined
Sep 13, 2022
Messages
7,533
Trophies
3
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
21,422
Country
United Kingdom
This dumped firmware for rp2040 glitch from china.
Used "picotool save all" command from linux.
Post automatically merged:

Tested on Switch Lite
This sounds very interesting. Hopefully someone out there could decrypt the dump if possible.
 
  • Like
Reactions: binkinator

g2781

New Member
Newbie
Joined
Jan 18, 2023
Messages
1
Trophies
0
Age
23
XP
19
Country
United Kingdom
This dumped firmware for rp2040 glitch from china.
Used "picotool save all" command from linux.
Post automatically merged:

Tested on Switch Lite
Chucked this thing on an rp2040-zero I had (not soldered into any switch sadly, I am NOT even remotely that good at soldering) and it definitely looks to be doing something. Plugging it into a USB-C port makes the LED go blue, then rapidly switch to green then turn off, I don't have a clue what it's actually doing, but if it's doing what it's thought to be then I'm gonna seriously consider looking around for people in my local area with actual soldering skill to see if I can get it in a console. Consider my interest piqued.
 

ByteFun

Member
Newcomer
Joined
May 6, 2021
Messages
17
Trophies
0
Age
34
XP
85
Country
Russia
What about SWD disabling in firmware. How to enable debugging?
Post automatically merged:

I found xref to encrypted data and, maybe, decryptor code. But i cant connect to target via swd port )
 

PicoPro

Member
Newcomer
Joined
Jan 19, 2023
Messages
6
Trophies
0
Age
35
XP
48
Country
Poland
I have some info about PicoFly so i'll share it with you.
1) Yes, it's really exist.
2) Yes, it can glitch (at least it definetely works with Switch Lite and Switch Oled).
3) Yes, you still need a cpu ribbon cable (V2 or higher).
4) The firmware is unique for each chip. Each chip has its own ID, and the firmware uses it for verification.
Example ID - Flash ID: D6 28 60 B8 1C 55 6A 25
5) You need three resistors (probably for protection?), ~45 ohm each.
Switch lite Solder scheme is attached (yes, it's low quality, but who cares?)
 

Attachments

  • RP-2040-Zero(lite).png
    RP-2040-Zero(lite).png
    3.4 MB · Views: 112

PicoPro

Member
Newcomer
Joined
Jan 19, 2023
Messages
6
Trophies
0
Age
35
XP
48
Country
Poland
I have some info about PicoFly so i'll share it with you.
1) Yes, it's really exist.
2) Yes, it can glitch (at least it definetely works with Switch Lite and Switch Oled).
3) Yes, you still need a cpu ribbon cable (V2 or higher).
4) The firmware is unique for each chip. Each chip has its own ID, and the firmware uses it for verification.
Example ID - Flash ID: D6 28 60 B8 1C 55 6A 25
5) You need three resistors (probably for protection?), ~45 ohm each.
Switch lite Solder scheme is attached (yes, it's low quality, but who cares?)
Also, using the attached file you can get your RP-2040-Zero unique Flash ID.
Connect rp-2040-zero to the PC. Look at the COM port of the chip in the device manager.
Just drug-and-drop .uf2 to your chip and then connect to the COM port using PuTTY or KiTTY (or whatever you use). Strings with a Flash ID of your chip will appear in the console (Flash ID: XX XX XX XX XX XX XX XX).
 

Attachments

  • Flash_ID_rp2040zero.7z
    22.2 KB · Views: 105
Last edited by PicoPro,

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,978
Trophies
2
XP
30,743
Country
United Kingdom
Also, using the attached file you can get your RP-2040-Zero unique Flash ID.
Connect rp-2040-zero to the PC. Look at the COM port of the chip in the device manager.
Just drug-and-drop .uf2 to your chip and then connect to the COM port using PuTTY or KiTTY (or whatever you use). Strings with a Flash ID of your chip will appear in the console (Flash ID: XX XX XX XX XX XX XX XX).
Given the talk of encryption in the firmware, I'm assuming you can't just hex edit the flash dump to put your own flash ID in and make it work.
 

ByteFun

Member
Newcomer
Joined
May 6, 2021
Messages
17
Trophies
0
Age
34
XP
85
Country
Russia
No
Given the talk of encryption in the firmware, I'm assuming you can't just hex edit the flash dump to put your own flash ID in and make it work.
No! You need encrypt 2nd stage firmware with new key (generated with unique Flash ID)
Post automatically merged:

I'm still trying to enable debugging. I'm sure it's possible to patch the firmware and allow the debugger to connect, but I don't know how. This is my first arm debugging experience, never had any problems on x86/64)
 
Last edited by ByteFun,

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,674
Trophies
3
Age
46
Location
At my chair.
XP
19,919
Country
Colombia
Also, using the attached file you can get your RP-2040-Zero unique Flash ID.
Connect rp-2040-zero to the PC. Look at the COM port of the chip in the device manager.
Just drug-and-drop .uf2 to your chip and then connect to the COM port using PuTTY or KiTTY (or whatever you use). Strings with a Flash ID of your chip will appear in the console (Flash ID: XX XX XX XX XX XX XX XX).
do you have the source code of this, I really start to learning hoy to code this bugger, and is fun.
 

marhalloweenvt

Well-Known Member
Member
Joined
Oct 2, 2014
Messages
235
Trophies
0
Age
29
XP
940
Country
I have some info about PicoFly so i'll share it with you.
1) Yes, it's really exist.
2) Yes, it can glitch (at least it definetely works with Switch Lite and Switch Oled).
3) Yes, you still need a cpu ribbon cable (V2 or higher).
4) The firmware is unique for each chip. Each chip has its own ID, and the firmware uses it for verification.
Example ID - Flash ID: D6 28 60 B8 1C 55 6A 25
5) You need three resistors (probably for protection?), ~45 ohm each.
Switch lite Solder scheme is attached (yes, it's low quality, but who cares?)
Sir, I got my ID and still have hope for the release of this to become true.
 

Adran_Marit

Walküre's Hacker
Member
Joined
Oct 3, 2015
Messages
3,781
Trophies
1
Location
42*South
XP
4,576
Country
Australia
Also, using the attached file you can get your RP-2040-Zero unique Flash ID.
Connect rp-2040-zero to the PC. Look at the COM port of the chip in the device manager.
Just drug-and-drop .uf2 to your chip and then connect to the COM port using PuTTY or KiTTY (or whatever you use). Strings with a Flash ID of your chip will appear in the console (Flash ID: XX XX XX XX XX XX XX XX).

[/QUOTE]
I have some info about PicoFly so i'll share it with you.
1) Yes, it's really exist.
2) Yes, it can glitch (at least it definetely works with Switch Lite and Switch Oled).
3) Yes, you still need a cpu ribbon cable (V2 or higher).
4) The firmware is unique for each chip. Each chip has its own ID, and the firmware uses it for verification.
Example ID - Flash ID: D6 28 60 B8 1C 55 6A 25
5) You need three resistors (probably for protection?), ~45 ohm each.
Switch lite Solder scheme is attached (yes, it's low quality, but who cares?)

Interesting 🤔
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,674
Trophies
3
Age
46
Location
At my chair.
XP
19,919
Country
Colombia
the code is on C, I am not getting there yet.

If somebody likes, this is my code on Arduino:

C-like:
#include "pico/unique_id.h"
String cadena;
String cadenaHex;

void setup() {
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  // send an intro:
  Serial.println("\n\nPico Unique Board ID example:");
  Serial.println();
  pixels.begin();
}
 
void loop() { 
  pico_unique_board_id_t board_id;
  pico_get_unique_board_id(&board_id);
  cadena = "";
  cadenaHex = "";
  for (int i = 0; i < PICO_UNIQUE_BOARD_ID_SIZE_BYTES; ++i) {
    //Serial.write(board_id.id[i]);
    //Serial.write(13);
    //Serial.write(10);
    cadena += " ";
    cadena += board_id.id[i];
    cadenaHex += " ";
    cadenaHex += String(board_id.id[i], HEX);
    
  }
  Serial.println("Flash ID (int): " + cadena);
  Serial.println("Flash ID (hex): " + cadenaHex);
  delay(250);
}

I am using Raspberry Pi Pico/RP2040 https://github.com/earlephilhower/arduino-pico board library on the Arduino IDE, that have the unique_id.h file.
 
Last edited by impeeza,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • NinStar @ NinStar:
    I'm going to melt
  • Xdqwerty @ Xdqwerty:
    Good night
  • RedColoredStars @ RedColoredStars:
    Going to smoke a bowl, eat pizza, drink a beer, and watch I Saw the TV Glow.
  • K3Nv2 @ K3Nv2:
    Why do people on YouTube keep making themselves glow
  • BakerMan @ BakerMan:
    oh joy, heat wave all week where i live
  • BakerMan @ BakerMan:
    plus there's thunder and lightning outside, and it'll rain soon, there's somehow no tornado watch tho
  • BakerMan @ BakerMan:
    and to make it worse, the heat didn't sway my brother away from wanting to spend some time swimming on his birthday tomorrow
  • Sicklyboy @ Sicklyboy:
    idr where in the US the heat wave is
  • Sicklyboy @ Sicklyboy:
    idk if I'm in it or not
  • BakerMan @ BakerMan:
    midwest, near me and bigonya
  • Sicklyboy @ Sicklyboy:
    ah fuck NJ is in the heat wave
  • BakerMan @ BakerMan:
    we're cooked, possibly literally
  • BakerMan @ BakerMan:
    if you have a habitable basement, the heat shouldn't be down there and that's where you should hang out
  • Sicklyboy @ Sicklyboy:
    No, but, the air conditioner in my living room gets fuckin icy
  • Sicklyboy @ Sicklyboy:
    In a good way, not as in a "my coils are freezing" kind of way
  • K3Nv2 @ K3Nv2:
    Not everyone lives in theirs mom's basement gosh
  • BakerMan @ BakerMan:
    nah, my mom's basement is just for the weekends to check in on the family
  • BakerMan @ BakerMan:
    i usually live in your mom's basement
  • BakerMan @ BakerMan:
    saves a lot of time fr
  • Sicklyboy @ Sicklyboy:
    It's 11:30 PM here, I just took the trash out and my god is it awful outside
  • Sicklyboy @ Sicklyboy:
    This heatwave can eat my ass
    +1
  • MysticStarlight @ MysticStarlight:
    omg same, it's VERY hot here, too
    MysticStarlight @ MysticStarlight: omg same, it's VERY hot here, too