Hacking Can someone with a banned switch help me repair mine?

guyman70718

Well-Known Member
OP
Member
Joined
May 31, 2017
Messages
167
Trophies
0
Age
21
XP
428
Country
United States
I have a switch that had the NAND chip fail, I already replaced it but you need to rebuild the nand using files from a donor, and the donor will get banned if they arent already. Is there anyone who is willing to help me?

Idk if this post is against the rules or anything but I dont think it is?
 
  • Like
Reactions: Julie_Pilgrim

guyman70718

Well-Known Member
OP
Member
Joined
May 31, 2017
Messages
167
Trophies
0
Age
21
XP
428
Country
United States
You guys both know that the "NAND" is console-specific? As in, it will literally not work on any other console other than the one it was dumped on.
You can decrypt the nand of the donor console and reencrypt it to the new console, the only problem is that afterwards they share some info and if one goes online the other gets banned

 
  • Like
Reactions: Julie_Pilgrim

Draxzelex

Well-Known Member
Member
Joined
Aug 6, 2017
Messages
16,219
Trophies
1
Age
27
Location
New York City
XP
11,075
Country
United States
You can decrypt the nand of the donor console and reencrypt it to the new console, the only problem is that afterwards they share some info and if one goes online the other gets banned

Yes because video tutorials are the epitome of quality and have never steered nor bricked any users consoles before (note: this is purely sarcasm).
 

Tamalulu

Well-Known Member
Newcomer
Joined
Jun 8, 2020
Messages
48
Trophies
0
Age
24
XP
350
Country
France
You shouldn't need anyone's backup if you follow the "Upgrading/Downgrading Manually With a PC" from the Switch Homebrew Guide.
 

Tamalulu

Well-Known Member
Newcomer
Joined
Jun 8, 2020
Messages
48
Trophies
0
Age
24
XP
350
Country
France
I think that even the upgrading manually method needs some part of the nand intact, but ill look now thanks
Yeah, you might need to find some prod.keys online to bootstrap everything. Make sure to install the 6.2.0 firmware as it doesn't need valid keyblobs.

As for the PRODINFO, you can use that little tool of mine: https://github.com/CaramelDunes/prodinfo_gen or use PabloZaiden's DeviceID Exosphere Builder. (https://github.com/PabloZaiden/deviceid-exosphere-builder).
 

linuxares

I'm not a generous god!
Global Moderator
Joined
Aug 5, 2007
Messages
9,040
Trophies
1
XP
10,391
Country
Sweden

guyman70718

Well-Known Member
OP
Member
Joined
May 31, 2017
Messages
167
Trophies
0
Age
21
XP
428
Country
United States
Yeah, you might need to find some prod.keys online to bootstrap everything. Make sure to install the 6.2.0 firmware as it doesn't need valid keyblobs.

As for the PRODINFO, you can use that little tool of mine: https://github.com/CaramelDunes/prodinfo_gen or use PabloZaiden's DeviceID Exosphere Builder. (https://github.com/PabloZaiden/deviceid-exosphere-builder).
So your saying the highest firmware I can install is 6.2.0? Or start with 6.2.0 then upgrade to latest when that's done.

I have a banned switch and I'm willing to share my nand backup. I'm at work right now but when I get home this evening I'll get up with you.
If Tamalulu's method doesn't work, that would be amazing thank you!
 

guyman70718

Well-Known Member
OP
Member
Joined
May 31, 2017
Messages
167
Trophies
0
Age
21
XP
428
Country
United States
You're right, I used https://github.com/suchmememanyskill/EmmcHaccGen instead of ChoiDuJour.
It's probably possible with lower versions using linkle (see https://gbatemp.net/threads/keyblob-0-to-5-corrupted.548659).
Trying to use EmmcHaccGen and I get this at the generating imkvdb
Generating imkvdb..
Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Exception: [IMEN] Invalid hash given
at EmmcHaccGen.imkv.Imen.AddContentNca()
at EmmcHaccGen.imkv.Imen.GenValue()
at EmmcHaccGen.imkv.Imen.Gen()
at EmmcHaccGen.imkv.Imen..ctor(List`1 pair)
at EmmcHaccGen.imkv.Imkv.MakeImenList(NcaIndexer& ncaIndex)
at EmmcHaccGen.imkv.Imkv..ctor(NcaIndexer& ncaIndex)
at EmmcHaccGen.Program.Start(String keys, String fwPath, Boolean noExfat, Boolean verbose, Boolean showNcaIndex, Boolean fixHashes)
at EmmcHaccGen.Program.Main(String keys, String fw, Boolean noExfat, Boolean verbose, Boolean showNcaIndex, Boolean fixHashes)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__20_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__21_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass6_0.<<ConfigureConsole>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseExceptionHandler>b__0>d.MoveNext()

It seems boot0, boot1 and bcpkg2 are created just fine though, so should I just ignore this?
 

Tamalulu

Well-Known Member
Newcomer
Joined
Jun 8, 2020
Messages
48
Trophies
0
Age
24
XP
350
Country
France
Maybe use the --fix-hashes option.
I would suggest flashing boot0, boot1 and bcpkg2 and running lockpick_rcm to get more of your own keys (assuming you started from internet keys).
 
General chit-chat
Help Users
    KennieDaMeanie @ KennieDaMeanie: Pokémon still acts the same just feels like they tried making it into a werid anime instead of...