Hacking JNUSTool - NUSGrabber and CDecrypt combined!

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,643
Country
Germany
Hey!

This tool allows you to download NUS-Content. It let you browse through the files of the NUS title, and only downloads the file you choose. It has real on the fly decryption, so it won't download any temporary files. For the enduser it looks like a download of the decrypted files ;) Multithreaded!

Features:
- download encrypted data
- download of decrypted data
- decryption your encrypted data
- support for different versions
- download/decrypt of the meta folder only
- on the fly download and decryption of single files
- filelist.txt creation for loadiine
- download files of packages that matches a regular expression (e.g all models or sounds)
- looking for update titles at each start

Releasepack:
https://github.com/Maschell/JNUSTool/releases

Requirements: Java 8

To use it start it you have two options.
1. just double click on the .jar file:
Make sure you have the config (with correct values) and updatetitles.csv in the same folder. A windows will popup and let you choose from the game updates. Feel free to add more title (post here or make a pull request)
2. Command line (when you want to provide a key or use a titleid that is not in the list)
Code:
java -jar JNUSTool.jar TITLEID
Replace the TITLEID with the title id you want to download (e.g. 0005000E1011A700). You can also add a version number ("v" prefix). e.g.
Code:
java -jar JNUSTool.jar 0005000E1011A700 v16
To download the encrypted data, just append the string "-dlEncrypted".
Code:
java -jar JNUSTool.jar 0005000E1011A700 v16 -dlEncrypted

You can download decrypted files via comandline with the -file argument. The argument after -files is regular expression that will be used.

Example for downloading the app.xml only
Code:
java -jar JNUSTool.jar 0005000E1011A700  -file /code/app.xml

Example for downloading the code folder only
Code:
java -jar JNUSTool.jar 0005000E1011A700  -file /code/.*

Example for downloading all .szs files
Code:
java -jar JNUSTool.jar 0005000E1011A700  -file .*.szs

To decrypted encrypted data, put the files into a created "tmp_TITLEID" folder. For example when you have the title id "0005000012345678" out the files in the folder "tmp_0005000012345678" and do:
Code:
java -jar JNUSTool.jar 0005000012345678

Source: https://github.com/Maschell/JNUSTool
Jar: https://github.com/Maschell/JNUSTool/tree/master/jar

You need a file named "config" in the folder of the jar. In this config file you will need a link to the update server,tagaya and the commonkey as hex string.
For example something like:
Code:
http://maschell.de/ccs/download
EE10040260BBB4ABD2C42DB25570B656
updatetitles.csv
TAGAYA 1 (latest_version)
TAGAYA 2 (versionlist)
I guess you'll figure out the right URL and common key ;)

Screenshot of the an outdated version:
6babf71a08.png

037d39ecbf.png

edit: Some downloaded file may be broken! You find any downloaded broken files, please report it so I can try to fix it!
 
Last edited by Maschell,

Hellhacker1990

Well-Known Member
Newcomer
Joined
Oct 6, 2014
Messages
61
Trophies
0
XP
116
Country
Hey awesome project! I was wondering if it works with OS X as it might finally be an way of downloading from the NUS. I'm trying to use it and have set the config file as instructed but I'm getting unsupported class version errors. I'm running os x 10.11 and the following is my java version information

Code:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
 

Hellhacker1990

Well-Known Member
Newcomer
Joined
Oct 6, 2014
Messages
61
Trophies
0
XP
116
Country
I guess you need Java 8!
I added a Java 7 build. Is it working @Hellhacker1990 ?
Awesome Thank you! it is indeed working however it seems i actually have my config file wrong now so time to figure out what the server is :P Thanks again for adding the Java7 Build!

EDIT: I'm mostly getting errors relating to Invalid TMD using that Java7 Build. I'm downloading Java 8 to test whether this is my config file or not. Here is also the error i'm receiving in terminal

Code:
Invalid TMD
Exception in thread "main" java.lang.IllegalArgumentException: Invalid TMD
    at TitleMetaData.<init>(TitleMetaData.java:44)
    at NUSTitle.<init>(NUSTitle.java:15)
    at Starter.main(Starter.java:25)
 
Last edited by Hellhacker1990,

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,643
Country
Germany
The server is wrong ;)
Added a config file just with the server, so please add the common key.

And I fixed a bug for file that are bigger than 2gb (and exitsing files are now skipped)
 
  • Like
Reactions: Hellhacker1990

Hellhacker1990

Well-Known Member
Newcomer
Joined
Oct 6, 2014
Messages
61
Trophies
0
XP
116
Country
The server is wrong ;)
Added a config file just with the server, so please add the common key.

And I fixed a bug for file that are bigger than 2gb (and exitsing files are now skipped)
Yup I seen now where I got it wrong hehe. It all works on Mac so thank you so much! Would there be a way to download without decrypting the content for users of WUP installer?

Excellent work regardless, this is great for loadiine users!
 
Last edited by Hellhacker1990,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
Thank you.
It's nice to skip sound/movies from unwanted languages.

Do you have the file size info in the file list, or you need to download it to get that info?
If the size is in the table, I think it would be nice to have the size in the GUI too.
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,864
Trophies
2
Location
At Home :)
XP
4,447
Country
I keep getting error unable to access jar file jnustool.jar? I'm opening as command and i have put the correct CKey in the config file.

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

Scrap that no it didnt! I thought maybe you could get meta folders xml files from a fulltitle but you cant.
 
Last edited by Reecey,

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,643
Country
Germany
Thank you.
It's nice to skip sound/movies from unwanted languages.

Do you have the file size info in the file list, or you need to download it to get that info?
If the size is in the table, I think it would be nice to have the size in the GUI too.

I have this information but atm no way to display it userfriendly ;)

Today I implemented the download of content and decryption from files on the hdd. Making a commit soon
 

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
1,090
Trophies
2
XP
4,643
Country
Germany
I made a "big" commit! (I had to remove Java 7 support, sorry)
I refactored the decryption (hopefully its still working, didnt spend too much time in testing) and added a new windows at startup to choose from game updates.
Now it has a simple (but crappy coded) GUI for the user who just want to download Game Updates. I added a list with 322 titleid of updates, make sure you have the "updatetitles.csv" in the same folder of the .jar and the updated config (path to the csv in line 3)
I will update the first post for more information

edit:
updated the main post!


PS: I added more options (like decryption from cached files, download the content/tmd/cetk but at first I need to make gui elements for it). If you're interested in it, check out the Settings.java and compile it with your wanted setting.
 
Last edited by Maschell,

WiiFoundLove

Well-Known Member
Member
Joined
Jan 18, 2015
Messages
280
Trophies
0
Age
54
XP
367
Country
Afghanistan
Commandline seems to work fine, but the gui doesn't start for me!?

edit: nope, doesn't work too. It says:

Error while reading config! Needs to be:
DOWNLOAD URL BASE
COMMONKEY

I've put the right common key there, but it simply won't work.
 
Last edited by WiiFoundLove,

BullyWiiPlaza

Nintendo Hacking <3
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,467
Country
Germany
Double clicking on the .jar does not work and I'm starting to feel frustrated.
Use the command line in the same folder as the application and type
Code:
java -jar JNUSTool.jar
It will tell you what's happening.

Make sure to also download and setup the
Code:
config
file correctly.

You only need to have Java installed to run the application via double-click so make sure that is the case as well.
 
Last edited by BullyWiiPlaza,
  • Like
Reactions: Bimmel

charlieb

Well-Known Member
Member
Joined
Jan 15, 2016
Messages
317
Trophies
0
Age
48
XP
675
Country
D:\temp>java -jar JNUSTool.jar
Updatelist is broken!
Exception in thread "main" java.lang.NullPointerException
at de.mas.jnustool.Starter.main(Starter.java:41)


Not sure what I'm doing wrong, latest JDK just downloaded.

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

Commandline seems to work fine, but the gui doesn't start for me!?

edit: nope, doesn't work too. It says:

Error while reading config! Needs to be:
DOWNLOAD URL BASE
COMMONKEY

I've put the right common key there, but it simply won't work.

do you have a file called "config" not "config.txt" in the same dir with the right info in it?.
 
  • Like
Reactions: CuriousTommy

BullyWiiPlaza

Nintendo Hacking <3
Member
Joined
Aug 2, 2014
Messages
1,932
Trophies
0
XP
2,467
Country
Germany
Last edited by BullyWiiPlaza,

charlieb

Well-Known Member
Member
Joined
Jan 15, 2016
Messages
317
Trophies
0
Age
48
XP
675
Country
It's a bug in the application.

Here's an older version that definitely worked for me lol:
https://github.com/BullyWiiPlaza/JNUSTool

Thanks, will downgrade.

do you have a JAR file, I've not setup my build environment with maven etc just yet.


FIXED!

my updatetitles.csv was a right click download. if you save the "raw file" from git it works fine. My file was a HTML file (git page with CSV content in it), not the raw file without HTML decoration.
 
Last edited by charlieb,

Bimmel

~ Game Soundtrack Collector ~
Member
Joined
Jan 28, 2014
Messages
2,302
Trophies
2
Age
43
XP
3,790
Country
Gambia, The
Use the command line in the same folder as the application and type
Code:
java -jar JNUSTool.jar
It will tell you what's happening.

Make sure to also download and setup the
Code:
config
file correctly.

You only need to have Java installed to run the application via double-click so make sure that is the case as well.
Thanks for your help, I've updated Java to the latest version.

That took me some steps forward.

So it seems the download site for the Nintendo server must be altered as well. The common key is no problem, but I have no idea where to get this URL from. And it seems to be forbidden to speak about it here.

All other things went quite well. At least I'm not that helpless anymore. ;-)
 
Last edited by Bimmel,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Xdqwerty @ Xdqwerty:
    also gonna install twilight menu in my r4 flashcard
  • Psionic Roshambo @ Psionic Roshambo:
    One thing that just occurred to me.... The sound on the 2600 sucked less back then the harsh sound we hear now is from infinitely better speakers we have now, back when the 2600 was new speakers produced a almost muffled sound, like CRTs made old graphics look slightly better.
  • Psionic Roshambo @ Psionic Roshambo:
    I wonder if I could recommend that to some emulation devs that perhaps the sound could use some smoothing out to simulate those old TVs
  • Psionic Roshambo @ Psionic Roshambo:
    I think a few of the early systems could benefit from that, at least up to the 8 bit generation, by the 16 bit generation I think TVs had gotten a lot better in almost every way
  • Xdqwerty @ Xdqwerty:
    i dont have an sd card adapter but I have an usb sd card adapter
  • K3Nv2 @ K3Nv2:
    Old people games
  • Xdqwerty @ Xdqwerty:
    its not the one that comes with the r4
  • Xdqwerty @ Xdqwerty:
    doesnt work (my flashcard is from r4isdhc.com)
  • Xdqwerty @ Xdqwerty:
    might install ysmenu first
  • Psionic Roshambo @ Psionic Roshambo:
    Try Wood firmware
  • Psionic Roshambo @ Psionic Roshambo:
    For your R4
  • Psionic Roshambo @ Psionic Roshambo:
    It's old but it's the best firmware out for DS stuff
  • Xdqwerty @ Xdqwerty:
    it says it only works for the original R4, R4i Gold (r4ids.cn), R4iDSN (r4idsn.com) and Acekard R.P.G.
  • Xdqwerty @ Xdqwerty:
    nvm it does support mine
  • Xdqwerty @ Xdqwerty:
    but why choose it over ysmenu @Psionic Roshambo?
  • Xdqwerty @ Xdqwerty:
    bc im stupid?
  • Xdqwerty @ Xdqwerty:
    yea ik im stupid
  • Xdqwerty @ Xdqwerty:
    good night
  • Psionic Roshambo @ Psionic Roshambo:
    Just give it a try, but honestly if you have a 3DS you can play DS games without a card just off the internal SD card
  • Psionic Roshambo @ Psionic Roshambo:
    Slightly slower loading but a bit more convenient
  • BakerMan @ BakerMan:
    guys, my fuckin headphones have an out of place speaker
  • K3Nv2 @ K3Nv2:
    Did you try wearing them?
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/eJV6GaIEgd4?si=ciLPnlhfd7XcrxQn