Hacking COMPLETED CDNSP - Download & repack your games, updates, and DLC's to NSP!

  • Thread starter Deleted-451877
  • Start date
  • Views 533,252
  • Replies 760
  • Likes 119

PeterGemp

Well-Known Member
Member
Joined
Jun 28, 2018
Messages
118
Trophies
0
XP
269
Country
United States
py -3 CDNSP.py -i 0100eae003a5a000

0100eae003a5a000:
Can't get name of title, TitleID not found on Shogun!
Avaible update versions for 0100eae003a5a800:
v65536 v131072 v196608 v262144 v327680

is this normal I can not get game name and dlc

option -i is for game information
use -g for game ncas unpacked
use -r additionally ( as in -r -g ) to get the .nsp
 

Metsudo

Member
Newcomer
Joined
Dec 16, 2015
Messages
16
Trophies
0
Age
46
XP
192
Country
For anyone who has this working, I created a short and sweet batch script for batch downloading and packing NSP files using CDNSP. Simply put the following code into a text file and rename it to "download.bat" (or whatever you please really, as long as it has the .bat extension) and place it in your CDNSP directory. You will then need to provide the script a comma delimited txt file (named "download.txt") in the CDNSP directory that has the Title ID followed by the Name of the game, separated by a comma, with each game on a separate line. The script will download the base game, pack it into an NSP file, rename the NSP file to the "<Title of the Game>.NSP", move the renamed file to a folder titled "Finished" in your CDNSP directory and then delete/cleanup the downloaded files. It will also create a file "failed.txt" and print the name of any game that did not successfully download for you to see what may have been missed (this file only gets created if there was a failed download).

Batch Script:

for /f "tokens=1-2 delims=," %%a in (download.txt) do (
cdnsp.py -r -g %%a-0
ren %%a\%%a.nsp "%%b.nsp"
if not exist Finished mkdir Finished
move %%a\"%%b.nsp" Finished\"%%b.nsp"
if not exist "Finished\%%b.nsp" echo %%b >> failed.txt
echo y|rmdir %%a /s
)


Example of "download.txt":

XXXXXXXXXXXXXX,The Legend of Zelda™: Breath of the Wild
XXXXXXXXXXXXXX,Blaster Master Zero


The XXXXXXXXXXXXXXX should be replaced with a proper title ID.

This script assumes that you have CDNSP working already on your system and that you can successfully download a title already. If you have not gotten that far, do not attempt to use this script. I am not responsible for any damage your may cause to your computer or any other system for that matter. Have fun!

Can i clarify something here; this script would batch download based on Title ID without a corresponding TitleKey ? I thought we needed a working TitleKey in order to download and then actually get the game to install and run ? Has something changed ?
 

Type_O_Dev

Developer
Developer
Joined
Dec 12, 2017
Messages
683
Trophies
0
XP
1,469
Country
United States
Can i clarify something here; this script would batch download based on Title ID without a corresponding TitleKey ? I thought we needed a working TitleKey in order to download and then actually get the game to install and run ? Has something changed ?
Yes I eddited batch

Code:
for /f "tokens=1-2 delims=," %%a in (download.txt) do (
cdnsp.py -r -g %%a
ren %%a\%%a.nsp "%%b.nsp"
if not exist Finished mkdir Finished
move %%a\"%%b.nsp" Finished\"%%b.nsp"
if not exist "Finished\%%b.nsp" echo %%b >> failed.txt
echo y|rmdir %%a /s
)

Just add the titleid-0-ticket in your download.txt
 
Last edited by Type_O_Dev,

Robman2122

Well-Known Member
Newcomer
Joined
Oct 14, 2015
Messages
84
Trophies
0
Age
34
XP
274
Country
United States
@Type_0_Dev, would you share your eddited batch?
I've edited the batch substantially since I first made it as I had originally read that title keys weren't needed for use on SX OS. It now uses the title key and downloads any updates along with base game. Please keep in mind, this will grab All available updates for each game. It also currently appends "[USA] [eShop]" to each filename as well as the update version if applicable.

Your download.txt will now need more info though. It should be in the following format:

"TitleID,UpdateID,TitleKey,GameTitle"

Batch script:

if not exist Finished mkdir Finished
for /f "tokens=1-4 delims=," %%a in (download.txt) do (
cdnsp.py -r -g %%a-0-%%c %%b-65536-%%c %%b-131072-%%c %%b-196608-%%c %%b-262144-%%c %%b-327680-%%c %%b-393216-%%c %%b-458752-%%c %%b-524288-%%c %%b-589824-%%c %%b-655360-%%c %%b-720896-%%c %%b-786432-%%c %%b-854968-%%c %%b-917504-%%c %%b-983040-%%c %%b-1048576-%%c
ren %%a\%%a.nsp "%%d [USA] [eShop].nsp"
move %%a\"%%d [USA] [eShop].nsp" Finished\"%%d [USA] [eShop].nsp"
ren %%a\%%b\65536\%%b.nsp "%%d [USA] [eShop] [Update v65536].nsp"
move "%%a\%%b\65536\%%d [USA] [eShop] [Update v65536].nsp" Finished
ren %%a\%%b\131072\%%b.nsp "%%d [USA] [eShop] [Update v131072].nsp"
move "%%a\%%b\131072\%%d [USA] [eShop] [Update v131072].nsp" Finished
ren %%a\%%b\196608\%%b.nsp "%%d [USA] [eShop] [Update v196608].nsp"
move "%%a\%%b\196608\%%d [USA] [eShop] [Update v196608].nsp" Finished
ren %%a\%%b\262144\%%b.nsp "%%d [USA] [eShop] [Update v262144].nsp"
move "%%a\%%b\262144\%%d [USA] [eShop] [Update v262144].nsp" Finished
ren %%a\%%b\327680\%%b.nsp "%%d [USA] [eShop] [Update v327680].nsp"
move "%%a\%%b\327680\%%d [USA] [eShop] [Update v327680].nsp" Finished
ren %%a\%%b\393216\%%b.nsp "%%d [USA] [eShop] [Update v393216].nsp"
move "%%a\%%b\393216\%%d [USA] [eShop] [Update v393216].nsp" Finished
ren %%a\%%b\458752\%%b.nsp "%%d [USA] [eShop] [Update v458752].nsp"
move "%%a\%%b\458752\%%d [USA] [eShop] [Update v458752].nsp" Finished
ren %%a\%%b\524288\%%b.nsp "%%d [USA] [eShop] [Update v524288].nsp"
move "%%a\%%b\524288\%%d [USA] [eShop] [Update v524288].nsp" Finished
ren %%a\%%b\589824\%%b.nsp "%%d [USA] [eShop] [Update v589824].nsp"
move "%%a\%%b\589824\%%d [USA] [eShop] [Update v589824].nsp" Finished
ren %%a\%%b\655360\%%b.nsp "%%d [USA] [eShop] [Update v655360].nsp"
move "%%a\%%b\655360\%%d [USA] [eShop] [Update v655360].nsp" Finished
ren %%a\%%b\720896\%%b.nsp "%%d [USA] [eShop] [Update v720896].nsp"
move "%%a\%%b\720896\%%d [USA] [eShop] [Update v720896].nsp" Finished
ren %%a\%%b\786432\%%b.nsp "%%d [USA] [eShop] [Update v786432].nsp"
move "%%a\%%b\786432\%%d [USA] [eShop] [Update v786432].nsp" Finished
ren %%a\%%b\854968\%%b.nsp "%%d [USA] [eShop] [Update v854968].nsp"
move "%%a\%%b\854968\%%d [USA] [eShop] [Update v854968].nsp" Finished
ren %%a\%%b\917504\%%b.nsp "%%d [USA] [eShop] [Update v917504].nsp"
move "%%a\%%b\917504\%%d [USA] [eShop] [Update v917504].nsp" Finished
ren %%a\%%b\983040\%%b.nsp "%%d [USA] [eShop] [Update v983040].nsp"
move "%%a\%%b\983040\%%d [USA] [eShop] [Update v983040].nsp" Finished
ren %%a\%%b\1048576\%%b.nsp "%%d [USA] [eShop] [Update v1048576].nsp"
move "%%a\%%b\1048576\%%d [USA] [eShop] [Update v1048576].nsp" Finished
if not exist "Finished\%%d [USA] [eShop].nsp" echo %%b >> failed.txt
echo y|rmdir %%a /s
)



Sent from my ASUS_P00J using Tapatalk
 
  • Like
Reactions: Type_O_Dev

Akuma540

Member
Newcomer
Joined
May 16, 2018
Messages
18
Trophies
0
Age
36
XP
83
Country
Germany
I've edited the batch substantially since I first made it as I had originally read that title keys weren't needed for use on SX OS. It now uses the title key and downloads any updates along with base game. Please keep in mind, this will grab All available updates for each game. It also currently appends "[USA] [eShop]" to each filename as well as the update version if applicable.

Your download.txt will now need more info though. It should be in the following format:

"TitleID,UpdateID,TitleKey,GameTitle"

Batch script:

if not exist Finished mkdir Finished
for /f "tokens=1-4 delims=," %%a in (download.txt) do (
cdnsp.py -r -g %%a-0-%%c %%b-65536-%%c %%b-131072-%%c %%b-196608-%%c %%b-262144-%%c %%b-327680-%%c %%b-393216-%%c %%b-458752-%%c %%b-524288-%%c %%b-589824-%%c %%b-655360-%%c %%b-720896-%%c %%b-786432-%%c %%b-854968-%%c %%b-917504-%%c %%b-983040-%%c %%b-1048576-%%c
ren %%a\%%a.nsp "%%d [USA] [eShop].nsp"
move %%a\"%%d [USA] [eShop].nsp" Finished\"%%d [USA] [eShop].nsp"
ren %%a\%%b\65536\%%b.nsp "%%d [USA] [eShop] [Update v65536].nsp"
move "%%a\%%b\65536\%%d [USA] [eShop] [Update v65536].nsp" Finished
ren %%a\%%b\131072\%%b.nsp "%%d [USA] [eShop] [Update v131072].nsp"
move "%%a\%%b\131072\%%d [USA] [eShop] [Update v131072].nsp" Finished
ren %%a\%%b\196608\%%b.nsp "%%d [USA] [eShop] [Update v196608].nsp"
move "%%a\%%b\196608\%%d [USA] [eShop] [Update v196608].nsp" Finished
ren %%a\%%b\262144\%%b.nsp "%%d [USA] [eShop] [Update v262144].nsp"
move "%%a\%%b\262144\%%d [USA] [eShop] [Update v262144].nsp" Finished
ren %%a\%%b\327680\%%b.nsp "%%d [USA] [eShop] [Update v327680].nsp"
move "%%a\%%b\327680\%%d [USA] [eShop] [Update v327680].nsp" Finished
ren %%a\%%b\393216\%%b.nsp "%%d [USA] [eShop] [Update v393216].nsp"
move "%%a\%%b\393216\%%d [USA] [eShop] [Update v393216].nsp" Finished
ren %%a\%%b\458752\%%b.nsp "%%d [USA] [eShop] [Update v458752].nsp"
move "%%a\%%b\458752\%%d [USA] [eShop] [Update v458752].nsp" Finished
ren %%a\%%b\524288\%%b.nsp "%%d [USA] [eShop] [Update v524288].nsp"
move "%%a\%%b\524288\%%d [USA] [eShop] [Update v524288].nsp" Finished
ren %%a\%%b\589824\%%b.nsp "%%d [USA] [eShop] [Update v589824].nsp"
move "%%a\%%b\589824\%%d [USA] [eShop] [Update v589824].nsp" Finished
ren %%a\%%b\655360\%%b.nsp "%%d [USA] [eShop] [Update v655360].nsp"
move "%%a\%%b\655360\%%d [USA] [eShop] [Update v655360].nsp" Finished
ren %%a\%%b\720896\%%b.nsp "%%d [USA] [eShop] [Update v720896].nsp"
move "%%a\%%b\720896\%%d [USA] [eShop] [Update v720896].nsp" Finished
ren %%a\%%b\786432\%%b.nsp "%%d [USA] [eShop] [Update v786432].nsp"
move "%%a\%%b\786432\%%d [USA] [eShop] [Update v786432].nsp" Finished
ren %%a\%%b\854968\%%b.nsp "%%d [USA] [eShop] [Update v854968].nsp"
move "%%a\%%b\854968\%%d [USA] [eShop] [Update v854968].nsp" Finished
ren %%a\%%b\917504\%%b.nsp "%%d [USA] [eShop] [Update v917504].nsp"
move "%%a\%%b\917504\%%d [USA] [eShop] [Update v917504].nsp" Finished
ren %%a\%%b\983040\%%b.nsp "%%d [USA] [eShop] [Update v983040].nsp"
move "%%a\%%b\983040\%%d [USA] [eShop] [Update v983040].nsp" Finished
ren %%a\%%b\1048576\%%b.nsp "%%d [USA] [eShop] [Update v1048576].nsp"
move "%%a\%%b\1048576\%%d [USA] [eShop] [Update v1048576].nsp" Finished
if not exist "Finished\%%d [USA] [eShop].nsp" echo %%b >> failed.txt
echo y|rmdir %%a /s
)

Sent from my ASUS_P00J using Tapatalk

Does it need to be seperated with , or - because the cdnsp needed the "-"
 

Robman2122

Well-Known Member
Newcomer
Joined
Oct 14, 2015
Messages
84
Trophies
0
Age
34
XP
274
Country
United States
The download.txt file needs to be separated by commas "," the batch script inserts the hyphens as needed automatically.

Sent from my ASUS_P00J using Tapatalk
I made it that way to better organize my id's and keys in an excel spreadsheet and the export to a csv file

Sent from my ASUS_P00J using Tapatalk
 

Akuma540

Member
Newcomer
Joined
May 16, 2018
Messages
18
Trophies
0
Age
36
XP
83
Country
Germany
The download.txt file needs to be separated by commas "," the batch script inserts the hyphens as needed automatically.

Sent from my ASUS_P00J using Tapatalk

should the download.txt be like Titel ID,Updateid,Titelkey, Game name? because it gives me a failed.txt out but when I use "-" downloads but wont put out a nsp in the finished folder
 

Metsudo

Member
Newcomer
Joined
Dec 16, 2015
Messages
16
Trophies
0
Age
46
XP
192
Country
I made it that way to better organize my id's and keys in an excel spreadsheet and the export to a csv file

Sent from my ASUS_P00J using Tapatalk

So the game and updates are all good to use the same key ? On some of the title id / key lists I've seen the update ID uses a different key to the game.

I'm sure I read somewhere a while back that updates don't need a key. To be honest the scene is moving so fast it's hard to keep up. It'd be good to know for sure !

By the way how large is the ID and key list you have ? On another site it's up to 300 something titles on the longest one, not sure if there's a master list going around with more on ?!
 

Robman2122

Well-Known Member
Newcomer
Joined
Oct 14, 2015
Messages
84
Trophies
0
Age
34
XP
274
Country
United States
should the download.txt be like Titel ID,Updateid,Titelkey, Game name? because it gives me a failed.txt out but when I use "-" downloads but wont put out a nsp in the finished folder
Should be separated by commas with no spaces after the commas.

Xxxxxxxxx,Xxxxxxxxx,Xxxxxxxxx,The Legend of Zelda

TitleID,UpdateID,TitleKey,GameName

One game per line no dashes and make sure your game name has no characters that can't be used for filenames, like :/;\

Sent from my ASUS_P00J using Tapatalk
 

Robman2122

Well-Known Member
Newcomer
Joined
Oct 14, 2015
Messages
84
Trophies
0
Age
34
XP
274
Country
United States
So the game and updates are all good to use the same key ? On some of the title id / key lists I've seen the update ID uses a different key to the game.

I'm sure I read somewhere a while back that updates don't need a key. To be honest the scene is moving so fast it's hard to keep up. It'd be good to know for sure !

By the way how large is the ID and key list you have ? On another site it's up to 300 something titles on the longest one, not sure if there's a master list going around with more on ?!

So far, TitleKey for games has worked fine for updates for me. My list is around 280 so far. I've seen some efforts on piracy sites to keep a maintained list, but they all use Google docs, so they will be nuked at some point in time. So I've been keeping a local copy of anything I find and will be testing everything I grab within time. Just wish there were more hours in the day.

Sent from my ASUS_P00J using Tapatalk
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Lol