Homebrew RELEASE Nintendo Switch SD to NSP Dumper

JacksonS

Well-Known Member
Member
Joined
Feb 13, 2016
Messages
427
Trophies
0
XP
1,232
Country
United States
You can click on the various failures, and if a text field pops up, I need to know what it is saying, (redacting keys as appropriate.)

This is my error. It is exactly the same for each NCA except for the paths.
hactool -t nax0 --sdseed=[redacted] --sdpath="/registered/00000000/[redacted].nca" --plaintext="C:\Tools\SwitchSDTool\NCA\[redacted].nca" "D:\Nintendo\Contents\registered\00000000\[redacted].nca\00"
Standard Output:
Error Output: [WARN]: Failed to match key "master_key_seed", (value "[redacted]")
[WARN]: Failed to match key "masterkey_4x_seed", (value "[redacted]")
[WARN]: Failed to match key "devicekey_seed", (value "[redacted]")
[WARN]: Failed to match key "devicekey_4x_seed", (value "[redacted]")
[WARN]: Failed to match key "dev_master_key_seed", (value "[redacted]")
[WARN]: Failed to match key "dev_package1_key_seed", (value "[redacted]")
[WARN]: Failed to match key "dev_per_console_key_seed", (value "[redacted]")
[WARN]: Failed to match key "rsa_oaep_kek_generation_source", (value "[redacted]")
[WARN]: Failed to match key "rsa_private_kek_generation_source", (value "[redacted]")
[WARN]: Failed to match key "eticket_rsa_kek_source", (value "[redacted]")
[WARN]: Failed to match key "eticket_rsa_kekek_source", (value "[redacted]")
[WARN]: Failed to match key "eticket_rsa_kek", (value "[redacted]")
[WARN]: Failed to match key "ssl_rsa_kek", (value "[redacted]")
[WARN]: Failed to match key "ssl_aes_key_x", (value "[redacted]")
[WARN]: Failed to match key "ssl_rsa_key_y", (value "[redacted]")
[WARN]: Failed to match key "sd_card_save_key", (value "[redacted]")
[WARN]: Failed to match key "sd_card_nca_key", (value "[redacted]")
[WARN]: Failed to match key "capsrv_hmac_key", (value "[redacted]")
[WARN]: Failed to match key "keyblob_mac_seed", (value "[redacted]")
[WARN]: Failed to match key "keyblob_seed_00", (value "[redacted]")
[WARN]: Failed to match key "keyblob_seed_01", (value "[redacted]")
[WARN]: Failed to match key "keyblob_seed_02", (value "[redacted]")
[WARN]: Failed to match key "keyblob_seed_03", (value "[redacted]")
[WARN]: Failed to match key "keyblob_seed_04", (value "[redacted]")
[WARN]: Failed to match key "normalseed_dev_00", (value "[redacted]")
[WARN]: Failed to match key "normalseed_dev_01", (value "[redacted]")
[WARN]: Failed to match key "normalseed_dev_02", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev0_00", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev0_01", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev0_02", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev1_00", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev1_01", (value "[redacted]")
[WARN]: Failed to match key "simpleseed_dev1_02", (value "[redacted]")
[WARN]: Failed to match key "sha256(master_key_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(master_key_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(master_key_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(master_key_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package1_key_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package1_key_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package1_key_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package1_key_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package2_key_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(aes_kek_generation_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(aes_key_generation_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_application_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_ocean_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_system_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(titlekek_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(header_kek_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(header_key_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(sd_card_kek_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(sd_card_save_key_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(sd_card_nca_key_source)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package2_key_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package2_key_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package2_key_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(package2_key_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(header_key)", (value "[redacted]")
[WARN]: Failed to match key "sha256(titlekek_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(titlekek_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(titlekek_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(titlekek_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_application_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_application_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_application_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_application_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_ocean_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_ocean_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_ocean_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_ocean_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_system_00)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_system_01)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_system_02)", (value "[redacted]")
[WARN]: Failed to match key "sha256(key_area_key_system_03)", (value "[redacted]")
[WARN]: Failed to match key "sha256(sd_card_save_key)", (value "[redacted]")
[WARN]: Failed to match key "sha256(sd_card_nca_key)", (value "[redacted]")
Key () must be 288 hex digits!

The error is obviously from Hactool, not your app. I searched online and couldn't find any reason for this other than bad keys. My keys file came from kezplez so I can't imagine that the content or the format is wrong.
 
Last edited by JacksonS,

caitsith2

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
350
Trophies
2
Age
43
Location
a secret location 93 million miles from the sun
Website
www.caitsith2.com
XP
2,476
Country
Canada
This is my error. It is exactly the same for each NCA except for the paths.


hactool -t nax0 --sdseed=[redacted] --sdpath="/registered/00000000/[redacted].nca" --plaintext="C:\Tools\SwitchSDTool\NCA\[redacted].nca" "D:\Nintendo\Contents\registered\00000000\[redacted].nca\00"
Standard Output:
Error Output: [WARN]: Failed to match key "master_key_seed", (value "[redacted]")
[WARN]: Failed to match key "masterkey_4x_seed", (value "[redacted]")
---SNIP----
[WARN]: Failed to match key "sha256(sd_card_nca_key)", (value "[redacted]")
Key () must be 288 hex digits!


The error is obviously from Hactool, not your app. I searched online and couldn't find any reason for this other than bad keys. My keys file came from kezplez so I can't imagine that the content or the format is wrong.

In C:\users\[your user name here]\.switch\ there will be a file called prod.keys. Edit that file, and remove the key_blob_xx keys entirely. They are not needed, as all of the other keys have been derived from them already. Hactool is sadly very unforgiving in how it handles keys.txt such that it totally aborts if it finds something it doesn't like, instead of ignoring it, in the case of a key that it does support NOT having the right number of hex digits present in a single line.
 
  • Like
Reactions: JacksonS

JacksonS

Well-Known Member
Member
Joined
Feb 13, 2016
Messages
427
Trophies
0
XP
1,232
Country
United States
Thanks, I didn't realize Hactool made a log of keys on my computer. That would explain it since I originally used a file with some incorrect formatting and those keys were still stored in the file. It is working now.
 

caitsith2

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
350
Trophies
2
Age
43
Location
a secret location 93 million miles from the sun
Website
www.caitsith2.com
XP
2,476
Country
Canada
Updated to version 1.03
  • 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.
 
  • Like
Reactions: Draxzelex

caitsith2

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
350
Trophies
2
Age
43
Location
a secret location 93 million miles from the sun
Website
www.caitsith2.com
XP
2,476
Country
Canada
If you are asking if the tickets present in the dumped NSPs contain your personal info, no, they don't. All of that info has been stripped. I am not in a position to test to see if a ticket with the personal info can be reinstalled as is, or if it is tied not only to the console it was dumped from, but ALSO the account that made that purchase.

However, tickets for game updates have no personal info in them, as this allows them to be shared to another console via local wireless.




Version 1.04
 

SSG Vegeta

Well-Known Member
Member
Joined
Jul 25, 2013
Messages
683
Trophies
1
XP
1,431
Country
United States
If you are asking if the tickets present in the dumped NSPs contain your personal info, no, they don't. All of that info has been stripped. I am not in a position to test to see if a ticket with the personal info can be reinstalled as is, or if it is tied not only to the console it was dumped from, but ALSO the account that made that purchase.

However, tickets for game updates have no personal info in them, as this allows them to be shared to another console via local wireless.




Version 1.04
  • 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


What I was asking was if we download a ticket that was shared is it possible to add our Nintendo Network id data to it as if we legitimately bought the game since your app allows us to build ticket files using our consoles data
 

evans112682

Active Member
Newcomer
Joined
Mar 30, 2009
Messages
26
Trophies
1
Age
41
XP
723
Country
United States
@caitsith2 I have a banned console that has DLC installed on the nand. I dont know of a way to install it on the SD card now that I cannot connect to Nintendo servers. Any plans to be able to pull games and DLC from the nand? Or is there a way for me to install these on the SD card?
 
Last edited by evans112682,

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
What I was asking was if we download a ticket that was shared is it possible to add our Nintendo Network id data to it as if we legitimately bought the game since your app allows us to build ticket files using our consoles data

No, that is certainly not possible to do for multiple reasons including that your legitimate purchases are not based on a local ticket but a remote server secured by Nintendo.

@caitsith2 I have a banned console that has DLC installed on the nand. I dont know of a way to install it on the SD card now that I cannot connect to Nintendo servers. Any plans to be able to pull games and DLC from the nand? Or is there a way for me to install these on the SD card?

You have to uninstall the DLC and then reinstall the NSP via CFW. This tool does create NSP for Games, DLC and Updates.
Sorry misread your question. As of now the tool doesn't extract from sysNAND. Since you are a banned anyway what difference does it matter if it is your DLC or just a pirated NSP? Personally I would just delete the DLC on SysNAND and reinstall a pirated NSP.

EDIT: Actually spoke briefly w/ caitsith2 and he said it's pretty simple to add that feature (extracting from the NAND) and will probably add it. It's true some people may have filled up their NAND, got banned and can't actually dump their purchased content. It's a nice feature to have regardless of a ban or not as many users did fill up their NAND and went to SD later on to expand, then to CFW and for some strange reason we can't move content between sys and sd.
 
Last edited by tubebar,

caitsith2

Well-Known Member
OP
Member
Joined
Jan 16, 2004
Messages
350
Trophies
2
Age
43
Location
a secret location 93 million miles from the sun
Website
www.caitsith2.com
XP
2,476
Country
Canada
@evans112682 - Done. NSP dumping from USER nand partition is now possible.

@Deck of Noobs - PRODINFO.bin contains some system specific things like calibration data, your system's serial number, your CDN access certificates, your eticket RSA keys, among other things. You do need it, but it isn't the only thing needed.

Version 1.05
  • 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.
 
  • Like
Reactions: ganons

evans112682

Active Member
Newcomer
Joined
Mar 30, 2009
Messages
26
Trophies
1
Age
41
XP
723
Country
United States
No, that is certainly not possible to do for multiple reasons including that your legitimate purchases are not based on a local ticket but a remote server secured by Nintendo.



You have to uninstall the DLC and then reinstall the NSP via CFW. This tool does create NSP for Games, DLC and Updates.
Sorry misread your question. As of now the tool doesn't extract from sysNAND. Since you are a banned anyway what difference does it matter if it is your DLC or just a pirated NSP? Personally I would just delete the DLC on SysNAND and reinstall a pirated NSP.

EDIT: Actually spoke briefly w/ caitsith2 and he said it's pretty simple to add that feature (extracting from the NAND) and will probably add it. It's true some people may have filled up their NAND, got banned and can't actually dump their purchased content. It's a nice feature to have regardless of a ban or not as many users did fill up their NAND and went to SD later on to expand, then to CFW and for some strange reason we can't move content between sys and sd.
The reason is because the DLC I purchased isn't on CDNSP. I want it for my my other switch that is also banned. Both Switch's are for my two boys who want the same set up.

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

@evans112682 - Done. NSP dumping from USER nand partition is now possible.

@Deck of Noobs - PRODINFO.bin contains some system specific things like calibration data, your system's serial number, your CDN access certificates, your eticket RSA keys, among other things. You do need it, but it isn't the only thing needed.

Version 1.05
  • 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.
Thanks for adding this feature. Great tool


@caitsith2
EDIT: Just tried it on SysNand and it works great. How do i see title keys?
 
Last edited by evans112682,
  • Like
Reactions: SSG Vegeta

tubebar

Well-Known Member
Member
Joined
May 17, 2009
Messages
227
Trophies
0
XP
517
Country
United States
The reason is because the DLC I purchased isn't on CDNSP. I want it for my my other switch that is also banned. Both Switch's are for my two boys who want the same set up.

That CDNSP issue should change now that you got them :) idk where the titlekeys are, have to wait for caitsith2 on that one.
 

JRoad

Developer
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Hi, do nsp build with this tool have all the xml a "proper" nsp should have?
I mean:
.programinfo.xml
.cnmt.xml
.legalinfo.xml
.nacp.xml
New ones from BBB incorporate these xml files and they claim that's the proper way of making a nsp file.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: Pepsi owns Taco Bell, and Pizza Hut, so that made since Pizza hut pizza was sold in Taco bells.