JNUSTool - NUSGrabber and CDecrypt combined!

Discussion in 'Wii U - Hacking & Backup Loaders' started by Maschell, Feb 1, 2016.

  1. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    900
    1,315
    Jun 14, 2008
    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://raw.githubusercontent.com/Maschell/JNUSTool/master/release.zip

    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:
    Warning: Spoilers inside!

    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.
    [​IMG]
     
    Last edited by Maschell, Nov 24, 2016
    traplord, vgmoose, markehmus and 36 others like this.


  2. paulloeduardo

    paulloeduardo Member

    Newcomer
    34
    25
    Aug 20, 2014
    Brazil
    Brazil
    tanks man !
     
    Maschell likes this.
  3. Hellhacker1990

    Hellhacker1990 Advanced Member

    Newcomer
    61
    17
    Oct 6, 2014
    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)
     
  4. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    900
    1,315
    Jun 14, 2008
    Gambia, The
    I guess you need Java 8!
    I added a Java 7 build. Is it working @Hellhacker1990 ?
     
    Last edited by Maschell, Feb 2, 2016
  5. Hellhacker1990

    Hellhacker1990 Advanced Member

    Newcomer
    61
    17
    Oct 6, 2014
    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, Feb 2, 2016
  6. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    900
    1,315
    Jun 14, 2008
    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)
     
    Hellhacker1990 likes this.
  7. Hellhacker1990

    Hellhacker1990 Advanced Member

    Newcomer
    61
    17
    Oct 6, 2014
    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, Feb 2, 2016
  8. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    18,049
    8,566
    Oct 27, 2002
    France
    Engine room, learning
    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.
     
  9. Reecey

    Reecey Mario 64 (favorite game of all time)

    Member
    4,276
    1,109
    Mar 7, 2010
    At Home :)
    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.

    — Posts automatically merged - Please don't double post! —

    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, Feb 2, 2016
  10. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    900
    1,315
    Jun 14, 2008
    Gambia, The
    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
     
    I pwned U! likes this.
  11. Maschell
    OP

    Maschell GBAtemp Advanced Fan

    Member
    900
    1,315
    Jun 14, 2008
    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, Feb 5, 2016
  12. WiiFoundLove

    WiiFoundLove GBAtemp Regular

    Member
    198
    62
    Jan 18, 2015
    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, Feb 6, 2016
  13. Bimmel

    Bimmel ~ Game Soundtrack Collector ~

    Member
    1,541
    832
    Jan 28, 2014
    Gambia, The
    Double clicking on the .jar does not work and I'm starting to feel frustrated.
     
  14. BullyWiiPlaza

    BullyWiiPlaza Nintendo Hacking <3

    Member
    1,727
    1,409
    Aug 2, 2014
    Germany
    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, Feb 6, 2016
    Bimmel likes this.
  15. charlieb

    charlieb Advanced Member

    Newcomer
    91
    37
    Jan 15, 2016
    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.

    — Posts automatically merged - Please don't double post! —

    do you have a file called "config" not "config.txt" in the same dir with the right info in it?.
     
    CuriousTommy likes this.
  16. BullyWiiPlaza

    BullyWiiPlaza Nintendo Hacking <3

    Member
    1,727
    1,409
    Aug 2, 2014
    Germany
    Here's an older version that definitely worked for me lol:
    https://github.com/BullyWiiPlaza/JNUSTool
     
    Last edited by BullyWiiPlaza, Feb 6, 2016
  17. charlieb

    charlieb Advanced Member

    Newcomer
    91
    37
    Jan 15, 2016
    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, Feb 6, 2016
  18. BullyWiiPlaza

    BullyWiiPlaza Nintendo Hacking <3

    Member
    1,727
    1,409
    Aug 2, 2014
    Germany
    charlieb likes this.
  19. charlieb

    charlieb Advanced Member

    Newcomer
    91
    37
    Jan 15, 2016
  20. Bimmel

    Bimmel ~ Game Soundtrack Collector ~

    Member
    1,541
    832
    Jan 28, 2014
    Gambia, The
    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, Feb 6, 2016