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

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
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,
D

Deleted User

Guest
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
 

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
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
 
D

Deleted User

Guest
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.
 

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
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?
 

JustBrandonT

Well-Known Member
Newcomer
Joined
Mar 11, 2018
Messages
75
Trophies
0
Age
34
XP
518
Country
Canada
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,

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
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."
 

JustBrandonT

Well-Known Member
Newcomer
Joined
Mar 11, 2018
Messages
75
Trophies
0
Age
34
XP
518
Country
Canada
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,

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
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
 
D

Deleted User

Guest
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
 
D

Deleted User

Guest
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?
 

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
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,
D

Deleted User

Guest
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 ,

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
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,
D

Deleted User

Guest
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

  • Release.zip
    241.8 KB · Views: 207

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
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

General chit-chat
Help Users
    rqkaiju2 @ rqkaiju2: istg if lose another game of minesweeper