Hardware Left joycon bricked using a tool called "Joycon toolkit"

  • Thread starter Thread starter Noah932282
  • Start date Start date
  • Views Views 17,602
  • Replies Replies 44

Noah932282

Member
Newcomer
Joined
Oct 10, 2019
Messages
6
Reaction score
0
Trophies
0
XP
98
Country
United States
So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?

EDIT:
My left joycon is now fixed
:) thank you CTCaer (dev) and moneyman4412
 
Last edited by Noah932282,
So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?
Why did you change the SN.... anyways I think you should contact the dev of the app and hope he can tell you how to restore
 
Why did you change the SN.... anyways I think you should contact the dev of the app and hope he can tell you how to restore
It was because I only have one pair of joycon and want to keep any trace of my hacked switch behind when using my clean switch
I asked for help on the switch haxing subreddit and someone told me there might be some people that could recompile the joycon toolkit without the restrictions
 
It was because I only have one pair of joycon and want to keep any trace of my hacked switch behind when using my clean switch
I asked for help on the switch haxing subreddit and someone told me there might be some people that could recompile the joycon toolkit without the restrictions
there is no data that can be stored on a joycon to be told if it was hacked or not.
 
there is no data that can be stored on a joycon to be told if it was hacked or not.
oh...well In that case it was just a dumb idea..:( but that's besides the point I need to fix this..because I don't have $80 to spend on new joycon...
do you know anything I can try in the mean time while I'm waiting for a reply from the dev?
 
oh...well In that case it was just a dumb idea..:( but that's besides the point I need to fix this..because I don't have $80 to spend on new joycon...
do you know anything I can try in the mean time while I'm waiting for a reply from the dev?

What's the EXACT message you got because there's no validation I can see in the source code that says "Cannot restore a left joycon onto a right joycon"..

I'd imagine it MIGHT be there but there's thousands (13K+) of lines of code..
 
Last edited by JustBrandonT,
What's the EXACT message you got because there's no validation I can see in the source code that says "Cannot restore a left joycon onto a right joycon"..

The exact message when attempting to load the backup file is: "The file is a "Joy-Con (L)" backup but your device is a "Joy-Con (R)"!

"Please try with a "Joy-Con (R)" SPI backup."
 
The exact message when attempting to load the backup file is: "The file is a "Joy-Con (L)" backup but your device is a "Joy-Con (R)"!

"Please try with a "Joy-Con (R)" SPI backup."
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}
 
Last edited by JustBrandonT,
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..
Never really recompiled anything before, I've always used releases, I could try but I don't wanna screw up..

--------------------- MERGED ---------------------------

You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}

so uh my visual studio trial expired and I cant use it...just my luck :l
 
Never really recompiled anything before, I've always used releases, I could try but I don't wanna screw up..

--------------------- MERGED ---------------------------



so uh my visual studio trial expired and I cant use it...just my luck :l
you could just use the comminuty version. don't need professional
 
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}
You sure it's 4887-4901?
 
FormJoy.h, on line 4888 change this
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
MessageBox::Show(L"The file is a \"" + str_backup_dev_type
+ "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
+ str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
this->txtBox_fileLoaded->Text = L"No file loaded";
this->lbl_rstDesc->Visible = false;
this->comboBox_rstOption->Visible = false;
this->btn_restore->Visible = false;
this->grpBox_RstUser->Visible = false;
this->lbl_rstDisclaimer->Visible = true;

return;
}

to this , maybe it will pass
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
this->txtBox_fileLoaded->Text = L"File Force sloaded";
this->lbl_rstDesc->Visible = true;
this->comboBox_rstOption->Visible = true;
this->btn_restore->Visible = true;
this->grpBox_RstUser->Visible = true;
this->lbl_rstDisclaimer->Visible = false;

return;
}
 
Last edited by KuranKu,
FormJoy.h, on line 4888 change this
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
MessageBox::Show(L"The file is a \"" + str_backup_dev_type
+ "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
+ str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
this->txtBox_fileLoaded->Text = L"No file loaded";
this->lbl_rstDesc->Visible = false;
this->comboBox_rstOption->Visible = false;
this->btn_restore->Visible = false;
this->grpBox_RstUser->Visible = false;
this->lbl_rstDisclaimer->Visible = true;

return;
}

to this , maybe it will pass
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
this->txtBox_fileLoaded->Text = L"File Force sloaded";
this->lbl_rstDesc->Visible = true;
this->comboBox_rstOption->Visible = true;
this->btn_restore->Visible = true;
this->grpBox_RstUser->Visible = true;
this->lbl_rstDisclaimer->Visible = false;

return;
}
I'm viewing this in microsoft visual studios. And that line is 4908. Did you copy master (the current state of the github) or did you copy the source code part of the last release? or maybe not ingore me.
 
Last edited by ,
That is a strange issue, I'm surprised it's still working at all. Luckily the program is open source, or this might be way harder to fix.
 
That is a strange issue, I'm surprised it's still working at all. Luckily the program is open source, or this might be way harder to fix.
indeed , i dont know how this could happened, but my best guess will be some exeption hapened just on that part of code or around and likely the person by mistakes being sleepy flashed the wrong side while .net being dump and havent handeled the exeption and program started the flash of the wrong side
 
Last edited by KuranKu,
seems to work
indeed , i dont know how this could happened, but my best guess will be some exeption hapened just on that part of code or around and likely the person by mistakes being sleepy flashed the wrong side while .net being dump and havent handeled the exeption and program started the flash of the wrong side
So as far as I can tell some pieces need to be adjusted still. (because I like breaking things as well. and was my only means of checking if things worked) I restored a right joycon flash onto my left. And it does work. Problem is joycon toolkit doesn't want to pick up that joycon, post flash. (I obivously have a back up of the left. Not stupid)

--------------------- MERGED ---------------------------

So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?
This should let you fix your joycon assuming the computer still picks it up and allows it. (Now I just have to undo my fuckery with mine)
 

Attachments

I'm going to compile it for him. I was just looking at the wrong line.
seems to work

So as far as I can tell some pieces need to be adjusted still. (because I like breaking things as well. and was my only means of checking if things worked) I restored a right joycon flash onto my left. And it does work. Problem is joycon toolkit doesn't want to pick up that joycon, post flash. (I obivously have a back up of the left. Not stupid)

--------------------- MERGED ---------------------------


This should let you fix your joycon assuming the computer still picks it up and allows it. (Now I just have to undo my fuckery with mine)
oh so your the one of the taff guys ,, ggod luck fixing your mistakes ... hope it turns out to be ok, but as i can tell it checks for size at point after the code ive changed and maybe the next code got messed up the things ^^

--------------------- MERGED ---------------------------

i wouldnt risk flashing my self ...
 

Site & Scene News

Popular threads in this forum