Hacking JNUSTool - NUSGrabber and CDecrypt combined!

Maschell

Well-Known Member
OP
Member
Joined
Jun 14, 2008
Messages
968
Trophies
1
XP
2,775
Country
Gambia, The
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!

Support
If you want to thank me for my creating this tool, feel free to make a small donation.
 
Last edited by Maschell,

Hellhacker1990

Well-Known Member
Newcomer
Joined
Oct 6, 2014
Messages
61
Trophies
0
XP
96
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
96
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
968
Trophies
1
XP
2,775
Country
Gambia, The
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
96
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,422
Trophies
2
Age
43
Location
Engine room, learning
XP
14,526
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,866
Trophies
0
Location
At Home :)
XP
3,545
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
968
Trophies
1
XP
2,775
Country
Gambia, The
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
968
Trophies
1
XP
2,775
Country
Gambia, The
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
51
XP
330
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,433
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
46
XP
655
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,433
Country
Germany
Last edited by BullyWiiPlaza,

charlieb

Well-Known Member
Member
Joined
Jan 15, 2016
Messages
317
Trophies
0
Age
46
XP
655
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,282
Trophies
0
Age
41
XP
3,077
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,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Julie_Pilgrim @ Julie_Pilgrim: i love how the crowd still cheered when thousand miles played lmao