Homebrew RELEASE Nintendo Switch SD to NSP Dumper

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
I'll see where CaitSith2 is hiding out and try to reach him on this. Tech stuff like this is way over my head :( Once he gets on he can help sort this out for you.

As far as I am aware preloaded games can be downloaded in Dodge as NXS files (which are an NSP without the key). I don't think this tool will create NXS file at all. Since the games are encrypted with AES it isn't possible to "crack" that and play them in anyway. I know the eShop does NOT give you the key for preload - only the data. If it is possible to do they don't say how, just say it can be done that doesn't help us, so I am sure it's not possible.

"Yes. Dead Cells, Monster Hunter, and other games have been playable much earlier than their release date using this method."? - using what method??? Some secret thing he can't tell us?
 
Last edited by tubebar,

blahblah

Well-Known Member
Member
Joined
May 16, 2018
Messages
1,132
Trophies
0
Age
35
XP
1,472
Country
United States
Last edited by blahblah,

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
NO. The keys for those two games were leaked by people with review code.

Stop posting about this subject. This is your second useless thread in a row.

Ah that answers where that BS came from, thanks. As we all agree there is no way to magically crack a preload game.
 

pka4916

Well-Known Member
Member
Joined
May 24, 2006
Messages
206
Trophies
1
Location
USA
XP
422
Country
United States
Anybody knows the Error that I posted? it happens during scanning at like 12/49 so idk what to do
I was able to dump the ones I saw, but they are so small, and seems like they are updates only and not the full game.
 

Type_O_Dev

Developer
Developer
Joined
Dec 12, 2017
Messages
683
Trophies
0
XP
1,469
Country
United States
Decided to make a tool for packing NSPs from games you have legally purchased through the eShop, that avoids the need for using any CDN tools, which poses a potential ban risk to your Nintendo Switch. You just quite simply dump your nand each time you buy a new game, in order to be able to extract the tickets required for NSP packing. The first run requires getting keys.txt, which can be done through kezplez, (turn on airplane mode, backup nand, run cfw and use kezplez, then restore the nand backup to wipe the traces of having ever run cfw to begin with.) Alternatively, google for keys.txt. As it is right now, eticket_rsa_kek is not extracted by kezplez, so that currently has to be googled for.

View attachment 140217

Download from here or here
Source code at https://github.com/CaitSith2/SwitchSDTool

Credits go to @Khangaroo for his original posting of the Switch SD dumping guide, which was not exactly the most user friendly guide, and to whoever wrote CDNSP, which served as the basis for this tool, in terms of figuring out how the NSP format worked. Also to @tubebar for providing me a nintendo switch, and the motivation to work on the tools.

Version 1.08
  • personal_keys.txt now only includes keys not yet in the database.
  • No longer depends on hactool or create temp files while parsing the ncas.
  • NSPs no longer have *.cnmt.xml. (This file like all of the other xml files and even jpeg files, is 100% derived from the ncas themselves, and is only used for Nintendo's lot check process before final release. (Don't bother asking for the xml files in my tool.))
  • Read tickets more efficiently
  • Get the release date AND time of pre-ordered eshop games.
  • Title key decryption sped up.
  • Added means to output common_keys.txt (and a formatted version for use in cdnsp tools to download updates.)

  • Include history.txt
  • release zip now uniquely named
  • Added ability to retrieve Title keys from DB (Have to find the DB url yourself)
  • Added an option to dump personal_keys.txt
  • Joining/Decrypting now merged into one step.
  • Title key now shown, if available.
  • Dumping from USER nand partition now possible. Just select the USER nand partition as your SD directory to do so.
  • Added a combo box and a means to cache RSA keys by Switch Serial number. This means PRODINFO.bin is only needed once, to initially load the RSA key.
  • Selecting SD Directory now Enables Find SD key.
  • Selecting SYSTEM nand directory now Enables both Find SD Key, and Load RSA Key. (Also deselects the current switch serial number from the combo box as well.)
  • eticket_rsa_kek text box disabled on program startup, if the correct key already exists in the configuration at startup.
  • Fixed a bug that causes duplicate entries to appear
  • The Info box now contains info on what NCA files belong to the title, when a child node of the title is selected, resolving issue #2
  • keys.txt no longer moved to %userprofile%.switch\prod.keys
  • keys.txt if present, or %userprofile%.switch\prod.keys parsed locally, and invalid key length keys for hactool are removed and put into tools\FixedKeys.txt. This should fix some of the hactool related problems for good.
  • Games/Language selection combined into one tab.
  • Selection of a game now shows on the language list which languages are supported.
  • Clicking on a language while a game is selected now shows that languages icon and title/developer information.
  • Fixed a bug where an empty directory in the SD card causes the decryption process to outright stop.
  • Fixed an issue where if the only items you have is DLC from a given game, you end up with lots of "Unknown". It is now one "Unknown" per game which you only have DLC for.
  • Added option to delete data from only the SD card, and keep the local decrypted NCA intact. (This is equivalent to Archiving the content on the switch.)
  • No longer need to re-parse the NCAs if you change the language order after parsing NCAs. The titles/icons now update according to the new language order live.
  • Added MIT License
  • Show error message if .NET Framework is less than 4.7.1.
  • Initial Release :)
Great Work!
 

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
I reccomend you copy ALL of the files from SD Card (including NAND) to a folder on the PC. Don't do this from the SD Card.

Also it sounds like you didn't properly mount the NAND. The NAND needs to be mounted in Windows as a drive (default is A:/).

After all files are in a dir on the PC, follow the readme.txt exactly and mount the NAND and it should work.
 

pka4916

Well-Known Member
Member
Joined
May 24, 2006
Messages
206
Trophies
1
Location
USA
XP
422
Country
United States
did a new NAND dump and SDcard dump
still getting this error during Parse NCA's 16/43

Nobody able to help me here ?
PM'd the Creator weeks ago, and did not get a response either.


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Bitmap..ctor(Stream stream)
at SwitchSDTool.ControlNACP..ctor(Romfs romfs, String baseTitleID) in H:\DevProjects\SwitchSDTool\SwitchSDTool\ControlNACP.cs:line 67
at SwitchSDTool.Form1.ReadControlInfo(String titleID, CnmtContentEntry entry) in H:\DevProjects\SwitchSDTool\SwitchSDTool\Form1.cs:line 962
at SwitchSDTool.Form1.btnParseNCA_Click(Object sender, EventArgs e) in H:\DevProjects\SwitchSDTool\SwitchSDTool\Form1.cs:line 1512
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3163.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SwitchSDTool
Assembly Version: 1.0.8.0
Win32 Version: 1.0.8.0
CodeBase: file:///H:/testing/SwitchSDTool%201.08/SwitchSDTool.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3151.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
libhac
Assembly Version: 1.0.0.0
Win32 Version: 1.0.8.0
CodeBase: file:///H:/testing/SwitchSDTool%201.08/SwitchSDTool.exe
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Newtonsoft.Json
Assembly Version: 11.0.0.0
Win32 Version: 1.0.8.0
CodeBase: file:///H:/testing/SwitchSDTool%201.08/SwitchSDTool.exe
----------------------------------------
System.Runtime.Serialization
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3160.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics.Vectors
Assembly Version: 4.1.4.0
Win32 Version: 1.0.8.0
CodeBase: file:///H:/testing/SwitchSDTool%201.08/SwitchSDTool.exe
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
I really have no idea. Since CDN is still working (for now) why don't you just dump the PersonalKeys.txt and submit that? You can just download your games that way (just like we did w/ 3DS). May as well until CDN stops working. Then worry about getting this to work when you need it. This tool was a bit early release anyway. I am NOT saying to use your own cert w/ CDN (that's insane) there are public certs available, I just can't tell you where that is.
 

pka4916

Well-Known Member
Member
Joined
May 24, 2006
Messages
206
Trophies
1
Location
USA
XP
422
Country
United States
I tried the previous version (07) and that one works just fine. just takes a LOT longer since it's decrypting everything.
Wish the Dev fixes the bug...
 

der:Tom

Well-Known Member
Member
Joined
Oct 3, 2008
Messages
187
Trophies
1
XP
682
Country
Austria
I tried the previous version (07) and that one works just fine. just takes a LOT longer since it's decrypting everything.
Wish the Dev fixes the bug...

Thank you very much i had the same problem with v1.08. As you said it takes some time with 1.07 but that makes me believe that 1.08 doesn´t extract the nca´s in the first place for some reason cause it´s SO fast, no way it can write this amount of data in so short time.
 

Toni456

Well-Known Member
Member
Joined
Oct 31, 2012
Messages
344
Trophies
1
XP
490
Country
Australia
Thank you very much i had the same problem with v1.08. As you said it takes some time with 1.07 but that makes me believe that 1.08 doesn´t extract the nca´s in the first place for some reason cause it´s SO fast, no way it can write this amount of data in so short time.
Having issues trying to get passed the first few steps, my "System Nand" is most definitely mounted as A:\ and the keys are correct but the program refuses to pick it up so i am unable to continue, tried running all programs as both with and without admin privileges but i still have the same problem. "Nintendo Switch System NAND Drive not present"
 

der:Tom

Well-Known Member
Member
Joined
Oct 3, 2008
Messages
187
Trophies
1
XP
682
Country
Austria
Having issues trying to get passed the first few steps, my "System Nand" is most definitely mounted as A:\ and the keys are correct but the program refuses to pick it up so i am unable to continue, tried running all programs as both with and without admin privileges but i still have the same problem. "Nintendo Switch System NAND Drive not present"

I had the same problem multiple times, try this:
Mount your system with hactool, mount your SD card on your computer, start the tool (it doesn´t matter if admin or not, at least for me), set paths for SD and system (you can leave nca and nsp, i´ll output in the main dir) and then CLOSE the programm and start it again! Sounds stupid but that works for me everytime i got the "System Nand drive not present" error.

Also, be sure to use v07 and that you got your prodinfo.bin and keys.txt
 
  • Like
Reactions: tabzer

dc9884

Active Member
Newcomer
Joined
Jul 9, 2018
Messages
42
Trophies
0
Age
35
XP
586
Country
United States
Just wanted to say thanks @caitsith2 for the continued development of this great tool! it's incredibly useful if you have a legit switch with many eShop purchases and a CFW switch that you never take online
 

Toni456

Well-Known Member
Member
Joined
Oct 31, 2012
Messages
344
Trophies
1
XP
490
Country
Australia
I had the same problem multiple times, try this:
Mount your system with hactool, mount your SD card on your computer, start the tool (it doesn´t matter if admin or not, at least for me), set paths for SD and system (you can leave nca and nsp, i´ll output in the main dir) and then CLOSE the programm and start it again! Sounds stupid but that works for me everytime i got the "System Nand drive not present" error.

Also, be sure to use v07 and that you got your prodinfo.bin and keys.txt
Sadly that doesn't work but thanks anyway.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • The Real Jdbye @ The Real Jdbye:
    cyberpunk at 4k without DLSS/fidelityfx *might* exceed 12gb
    +1
  • The Real Jdbye @ The Real Jdbye:
    but that game barely runs at native 4k
  • Psionic Roshambo @ Psionic Roshambo:
    I think it was some newer games and probably poorly optimized PS4 or PS5 ports
  • The Real Jdbye @ The Real Jdbye:
    they definitely will age better but i feel dlss might outweigh that since it looks about as good as native resolution and much less demanding
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    When I played Cyberpunk on my old 2080 Ti it sucked lol
  • The Real Jdbye @ The Real Jdbye:
    AMD could introduce something comparable to DLSS but nvidia's got a lot more experience with that
  • The Real Jdbye @ The Real Jdbye:
    least amd 7xxx has tensor cores which the previous generations didn't so there is the potential for AI upscaling
  • Psionic Roshambo @ Psionic Roshambo:
    They have FSR or whatever it's called and yeah it's still not great
  • The Real Jdbye @ The Real Jdbye:
    so AMD seem to finally be starting to take AI seriously
  • Psionic Roshambo @ Psionic Roshambo:
    Oh yeah those new 8000 CPUs have AI cores built in that's interesting
  • Psionic Roshambo @ Psionic Roshambo:
    Maybe they plan on offloading to the CPU?
  • Psionic Roshambo @ Psionic Roshambo:
    Would be kinda cool to have the CPU and GPU working in random more
  • Psionic Roshambo @ Psionic Roshambo:
    Tandem even
  • The Real Jdbye @ The Real Jdbye:
    i think i heard of that, it's a good idea, shouldn't need a dedicated GPU just to run a LLM or video upscaling
  • The Real Jdbye @ The Real Jdbye:
    even the nvidia shield tv has AI video upscaling
  • The Real Jdbye @ The Real Jdbye:
    LLMs can be run on cpu anyway but it's quite slow
  • BakerMan @ BakerMan:
    Have you ever been beaten by a wet spaghetti noodle by your girlfriend because she has a twin sister, and you got confused and fucked her dad?
  • Psionic Roshambo @ Psionic Roshambo:
    I had a girlfriend who had a twin sister and they would mess with me constantly.... Until one chipped a tooth then finally I could tell them apart.... Lol
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
  • The Real Jdbye @ The Real Jdbye:
    i don't think nvidia wants to get in the x64 cpu market anyways
  • The Real Jdbye @ The Real Jdbye:
    you've seen how much intel is struggling getting into the gpu market
  • The Real Jdbye @ The Real Jdbye:
    and nvidia is already doing ARM
  • The Real Jdbye @ The Real Jdbye:
    i don't think they want to take more focus away from their gpus
    The Real Jdbye @ The Real Jdbye: i don't think they want to take more focus away from their gpus