Homebrew [RELASE] WiiUDownloader - Multiplatform alternative to Wii U USB Helper

Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
just wanted to say , amazing application, i have been using it for the past 3 days to backup everything i want because i heard servers will shutdown on the 27th but who knows.

The servers will still be up even after eShop closure, so NUS tools will continue to work as intended even after the shutdown.

as for your other comments, no real answer I can give to them since I'm not a contributor to this project.
 

Xpl0itU

Well-Known Member
OP
Member
Joined
Jul 8, 2021
Messages
315
Trophies
0
Age
24
XP
1,431
Country
Spain
just wanted to say , amazing application, i have been using it for the past 3 days to backup everything i want because i heard servers will shutdown on the 27th but who knows.

Only few concerns i saw was lets suppose you leave it downloading and you go to sleep, the app sometimes stops asking you that the vc title will not work on CEMU, just to find out in the morning that it stopped, so thats kind of bad, because i didn´t want it to stop, im not always looking at the screen.

the other thing i would love to see is a the list of titles separated for example, this title is NES VC, this title is SNES VC, this title is DS VC, etc. filtering those as you filter USA; EUROPE AND JAP. I can find the list on wikipedia i think , so no big deal, but it would be nice to filter VC and VC+wiiU and wiiU games.

but the app is amazing.
In settings you have an option that stops that prompt from appearing, but afaik if you accept once then the dialog will stop appearing
 

Kolina2901

Active Member
Newcomer
Joined
Jul 14, 2019
Messages
40
Trophies
0
Age
36
XP
829
Country
Barbados
Slightly off topic but is there a dark mode? It shows that in the screenshot but I don't see anything in the settings for it at all, using the Linux appimage if that matters.
 

Xpl0itU

Well-Known Member
OP
Member
Joined
Jul 8, 2021
Messages
315
Trophies
0
Age
24
XP
1,431
Country
Spain
Slightly off topic but is there a dark mode? It shows that in the screenshot but I don't see anything in the settings for it at all, using the Linux appimage if that matters.
If you set your system theme to dark mode it should follow it too, note that the theme name should end in “-dark” for GTK to pick it up
 

chocofenix

Active Member
Newcomer
Joined
May 14, 2019
Messages
30
Trophies
0
Age
39
XP
154
Country
United Kingdom
This is downloading from nintendo servers from what it says, so less likely to "need" a vpn? Apologies for rookie question 🤣 read somewhere else that a 3ds one isnt possible because of a change in behaviour - is there anything close to similar? Thanks! And apologies again

Vpn question is because it really limits my internet for some reason so be nice to use "freely"
 

Xpl0itU

Well-Known Member
OP
Member
Joined
Jul 8, 2021
Messages
315
Trophies
0
Age
24
XP
1,431
Country
Spain
This is downloading from nintendo servers from what it says, so less likely to "need" a vpn? Apologies for rookie question 🤣 read somewhere else that a 3ds one isnt possible because of a change in behaviour - is there anything close to similar? Thanks! And apologies again

Vpn question is because it really limits my internet for some reason so be nice to use "freely"
No need for a vpn
 
  • Like
Reactions: godreborn

Ryab

Well-Known Member
Member
Joined
Aug 9, 2017
Messages
3,223
Trophies
1
XP
4,445
Country
United States
This is downloading from nintendo servers from what it says, so less likely to "need" a vpn? Apologies for rookie question 🤣 read somewhere else that a 3ds one isnt possible because of a change in behaviour - is there anything close to similar? Thanks! And apologies again

Vpn question is because it really limits my internet for some reason so be nice to use "freely"
There is no easy way of distinguishing a normal download and an external download.
 

Jakic007

Well-Known Member
Newcomer
Joined
Feb 17, 2015
Messages
99
Trophies
0
Age
26
XP
406
Country
Croatia
I just tried out WiiUDownloader on my M1 mac and it is great! Thanks for this software!
Noticed 1 bug: pausing downloads does not work, need to nuke the whole app with command+Q :/
Also, I have a question about tickets:
I have not used my Wii U for a couple of years and the last time I used it I had haxchi without cooldboot and mocha cfw.
It is hard for me to remember the exact flow how I installed my games but it was something like this:
1. Download the backup from Wii U USB Helper on Windows and transfer to SD
2. Use wup installer to install
3. play without signature patch or mocha cfw

And that flow worked for all games that were not eshop exclusives. I can still play my BOTW and Bayonetta 2 for example from sysnand.
But now I wanted to install Bayonetta 1 downloaded using WiiUDownloader and I can only install it and play like this:
1. Download using WIIUDownloader, transfer to SD
2. Enter Mocha cfw
3. Install using wup installer
4. Play with signature patch or Mocha cfw
What am I missing here? Is there any difference in the downloaded files from WII U USB Helper and WIIUDownloader?
 
Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
What am I missing here? Is there any difference in the downloaded files from WII U USB Helper and WIIUDownloader?

Kind of? But not really. The thing is with USB Helper it would only function if you gave it a key site which was used for both fetching Title IDs / Keys but also official Tickets if they existed.

WiiUDownloader however uses a dedicated server for this, while also generating fake tickets on the fly to fully support every title on the NUS.

Just switch your CFW to Tiramisu or Aroma and it'll load Sigpatches on boot which will allow the game to run as if it were stock.
 

Jakic007

Well-Known Member
Newcomer
Joined
Feb 17, 2015
Messages
99
Trophies
0
Age
26
XP
406
Country
Croatia
Where can I learn more about fake tickets and what exactly is USB Helper doing with the key downloaded from that key site?
I just did a couple of tests/comparisons:

Test1:
1. Download Bayonetta using WiiUDownloader
2. Try to install without signature patch/cfw
3. Fail

Test 2:
1. Download Bayonetta using WiiUDownloader
2. Download .tik file from that site and manually replace the one that was generated by the WiiUDownloader
3. Try to install without signature patch/cfw
4. Fail

Test 3:
1. Download Bayonetta using WiiUDownloader
2. Download Bayonetta using USB Helper with the same site I used in the Test2 as a source for tickets
3. Extract .tik, .cert and .tmd files from the USB Helper download and manually replace the ones that were generated by the WiiUDownloader (probably only had to replace .tik file)
4. Try to install without signature patch/cfw
5. Works!

Why does it work in Test3 and not in Test2? What is different?

Why am I doing all of this? I am not using windows anymore and USB Helper is way to bloated anyways. Also, I want to understand how all of this works :)
So for me it is not super important to cold boot into cfw or upgrade to Tiramisu, it is more for educational purposes.
 
Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
Where can I learn more about fake tickets and what exactly is USB Helper doing with the key downloaded from that key site?

Afaik there isn't a lot of places to learn that information from. I personally learned some of it from looking at FunKiiU and re-writing the ticket generation functions in it.

The easiest way to explain it is, it takes basic information from the TMD file to get offsets and specific data values, and it proceeds to write data using the bytearrays generated with both the TMD and Title Key to make a ticket file that can be patched using CFW to sign the software.

You can look at the actual functions here.

Python:
## Using slightly modified ticket patching from FunKiiU ##
def patch_ticket(ticket_data, offset, data):
    """
    Patch a Wii U ticket with the given data.

    Parameters:
        ticket_data (bytearray): The ticket data to be patched.
        offset (int): The offset to start the patching.
        data (bytes): The data to be patched in.

    Returns:
        None
    """
    ticket_offset_start = TIK_OFFSET + offset
    ticket_offset_end = ticket_offset_start + len(data)
    ticket_data[ticket_offset_start:ticket_offset_end] = data

def patch_ticket_demo(ticket_data):
    """
    This function takes a Wii U ticket data and patches it with demo data.

    Parameters:
        ticket_data (bytearray): The ticket data to be patched.
        offset (int): The offset to start the patching.
        demo_data (bytes): The data to be patched in.

    Returns:
        None
    """
    # Offset to patch
    offset = 0x124
   
    # Demo data to be patched
    demo_data = b"\x00" * 64
   
    # Patch the ticket data with demo data
    patch_ticket(ticket_data, offset, demo_data)


def patch_ticket_dlc(ticket_data):
    """
    This function takes a Wii U ticket data and patches it with DLC data.

    Parameters:
        ticket_data (bytearray): The ticket data to be patched.
        offset (int): The offset to start the patching.
        dlc_data (bytes): The data to be patched in.

    Returns:
        None
    """
    # Offset to patch
    offset = 0x164
   
    # DLC data to be patched
    dlc_data = base64.b64decode("...") # not showing this on GBATemp, srry
    dlc_data = zlib.decompress(dlc_data)
   
    # Patch the ticket data with DLC data
    patch_ticket(ticket_data, offset, dlc_data)


def generate_ticket(title_id, title_key, title_version, full_output_path, patch_demo=False, patch_dlc=False):
    """
    This function generates a Wii U ticket for a given title ID, title key, and title version.

    title_id: The ID of the title.
    title_key: The key of the title.
    title_version: The version of the title.
    full_output_path: The path to save the ticket.
    patch_demo: A flag indicating whether to patch the ticket with demo data.
    patch_dlc: A flag indicating whether to patch the ticket with DLC data.
    """
    # Create an empty bytearray to store the ticket data
    ticket_data = bytearray(TIK_DATA)
   
    # Update the title version, title ID, and title key in the ticket data
    ticket_data[TIK_OFFSET + 0xA6: TIK_OFFSET + 0xA8] = title_version
    ticket_data[TIK_OFFSET + 0x9C: TIK_OFFSET + 0xA4] = binascii.a2b_hex(title_id)
    ticket_data[TIK_OFFSET + 0x7F: TIK_OFFSET + 0x8F] = binascii.a2b_hex(title_key)
   
    # Determine the type of title ID and apply the corresponding patch function if applicable
    type_check = title_id[4:8]
    patch_functions = {
        "0002": patch_ticket_demo if patch_demo else None,
        "000C": patch_ticket_dlc if patch_dlc else None,
    }
    patch_func = patch_functions.get(type_check)
    if patch_func:
        patch_func(ticket_data)
   
    # Save the ticket data to the specified output path
    with open(full_output_path, "wb") as f:
        f.write(ticket_data)
## Using slightly modified ticket patching from FunKiiU ##

Anyways I'm bad at explaining lmao, sorry.

Test1:
1. Download Bayonetta using WiiUDownloader
2. Try to install without signature patch/cfw
3. Fail

Because (afaik) it just downloads the base files, then generates the tickets itself. (I think it generates it's own certs using a different method as well. Not sure tho)

Test 2:
1. Download Bayonetta using WiiUDownloader
2. Download .tik file from that site and manually replace the one that was generated by the WiiUDownloader
3. Try to install without signature patch/cfw
4. Fail

Not sure. Possibly tmd or cert? I know that WiiUDownloader uses it's own generation methods because when you compare hex between it and other tools it's different.

Test 3:
1. Download Bayonetta using WiiUDownloader
2. Download Bayonetta using USB Helper with the same site I used in the Test2 as a source for tickets
3. Extract .tik, .cert and .tmd files from the USB Helper download and manually replace the ones that were generated by the WiiUDownloader (probably only had to replace .tik file)
4. Try to install without signature patch/cfw
5. Works!

Like I said, probably cert or tmd.
 
Last edited by Deleted member 571007,
  • Like
Reactions: Jakic007

Ettino

Well-Known Member
Member
Joined
Oct 12, 2022
Messages
527
Trophies
0
XP
971
Country
Canada
1. Download using WIIUDownloader, transfer to SD
2. Enter Mocha cfw
3. Install using wup installer
4. Play with signature patch or Mocha cfw
What am I missing here?
You're missing better CFW.

WIth Tiramisu/Aroma, you only need to do 1&3 (stop using wup and switch to nusspli to install stuff). Tiramisu & Aroma can be safely coolboot, and the sigpatch file is included (link to download) with the installation guide. So, you don't have to jump through so many hoops just to play a game.

While we're at it, nusspli can directly download & install games to the console. It even delete the download wup files after too.

Go here: https://wiiu.hacks.guide/#/ if you want to make life a bit easier for yourself.
 

chobochobo

Member
Newcomer
Joined
Oct 13, 2021
Messages
24
Trophies
0
Age
55
XP
213
Country
Hong Kong
Okay, so I've just installed Tiramisu/ Aroma on a used US Wii U. Now trying to download something using nusspli and reading these comments with interest. I'm hoping to be able use Wii U downloader to get games to play on a softmodded Wii U please.

Thanks for this great app. I have a Steam Deck and have been using wii U downloader for games using Cemu (via emulationstation on SteamOS). It's superfast (Nusspli is about 3 hours per game) and have gotten Mario Kart working. Cemu on Batocera seems more temperamental. I'm wondering about those option boxes and what they do please?
- decrypt contents - check or not?
- delete encrypted contents after decryption - I presume this saves disk space, but what are the other implications please?
 
Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
- decrypt contents - check or not?

Decrypt contents will get the actual files from the game (Content, Meta, Code folders) from the .app, and .h3 installation files which are used to install the game on the Wii U itself. Check this if you just want to browse files, or put the game in your Cemu MLC directory.

- delete encrypted contents after decryption - I presume this saves disk space, but what are the other implications please?

Delete encrypted contents after decryption just deletes the .app and .h3 files after you get the Content, Meta and Code folders. Some people use it only for decryption, so they don't need the installation files, so that's why the option exists (or at least why I've used it personally). You can also choose to keep both.

I'm hoping to be able use Wii U downloader to get games to play on a softmodded Wii U please.

Yep, it can be used for that. Put the folder generated in SD:/install and install via either NUSspli or WUP Installer.

Nusspli is about 3 hours per game

Unfortunately, that's an issue with the Wii U's hardware- not really the tool itself. Installations are much faster than downloads though.
 
  • Like
Reactions: chobochobo

chobochobo

Member
Newcomer
Joined
Oct 13, 2021
Messages
24
Trophies
0
Age
55
XP
213
Country
Hong Kong
Woah, thanks for the superfast reply. Just to be clear please - the folders (contents/ meta and code) are for Cemu, whilst the .app and .h3 files are for the Wii U itself. So if I want the option to play on both Wii U hardware or Steam Deck, then i should decrypt to have both?

I can't believe that in the past month or so, I've acquired many (cheap Wiis) and finally a Wii U. All this from using Batocera on Steam Deck (which I use to play OG Tetris most of the time, but have been having fun with Tekken 7 and Left 4 Dead after not gaming much since the Dreamcast, though I did get a Switch). I found out about lightgun games on Batocera, that led me to get Wii's for the wiimotes and sensor bars (which need a powered Wii!), then getting a Wii U because it would output Wii games at highest def. LOL. I completely skipped the Wii U (like many people) but i'm impressed by the games.
 
Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
Woah, thanks for the superfast reply. Just to be clear please - the folders (contents/ meta and code) are for Cemu, whilst the .app and .h3 files are for the Wii U itself. So if I want the option to play on both Wii U hardware or Steam Deck, then i should decrypt to have both?

Yes. The decrypted contents are most often used for Cemu since you can go to the MLC folder and then go to either 00050000 (Game Folder) or 0005000e (Update Folder), create a new folder with the game's Title ID (For example the Title ID for US version of Minecraft is 101d9d00). So you can use that structure and Cemu will automatically detect your game, and you can launch it.

For installing Wii U side, like I said just copy the folder with the .app, and .h3 files to SD:/install/Folder_Name and load either NUSspli or WUP Installer, and it'll put the game on either your USB or NAND storage. I personally recommend doing USB as much as possible to preserve the NAND's write life-cycle as intensive operations such as installations can wear it out more quickly.

I completely skipped the Wii U (like many people) but i'm impressed by the games.

Personally I think the Wii U as a console shines the most because of its Homebrew scene. It's honestly one of the best consoles I've used for emulation, and modding it is even easier than with a 3DS so it's accessible to basically everyone.
 
  • Like
Reactions: chobochobo

chobochobo

Member
Newcomer
Joined
Oct 13, 2021
Messages
24
Trophies
0
Age
55
XP
213
Country
Hong Kong
So my first attempt to Nusspli a game onto a USB drive failed. The USB (32G) was too small and I got a out of space error/ warning. So it seems that in addition to a big USB (HDD) I should also have a bigger SD card (now 32G for a 32G machine). This way I would install stuff that has been downloaded on a PC, then copied over to the SD card install folder to be installed with Nusspli or WUP Installer.

Question: can i get a bigger SD (or microSD in an adapter) , FAT32 it, and then copy all the files from the old 32G SD to the newer bigger SD. Would this work please, or do I need to clone it somehow?
 
Joined
Oct 19, 2021
Messages
847
Trophies
1
XP
2,313
Question: can i get a bigger SD (or microSD in an adapter) , FAT32 it, and then copy all the files from the old 32G SD to the newer bigger SD. Would this work please, or do I need to clone it somehow?

Just copying works. I don't recommend a MicroSD in an adapter though. It works for some people, but everyone i personally know that's tried it just had issues with it. I personally just used a 512 GiB SD Card and formatted it to FAT32 and it worked perfectly.
 
  • Like
Reactions: chobochobo

chobochobo

Member
Newcomer
Joined
Oct 13, 2021
Messages
24
Trophies
0
Age
55
XP
213
Country
Hong Kong
Cheers. All the big (256GB and up) SD cards on Am*zon seem to be SDXC only. I thought that was a no -no and it should be SDHC only?
 

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?
    B @ btjunior: @Xdqwerty 16