Hacking Wii U image (WUD) compression tool

Exzap

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
154
Trophies
0
XP
1,570
Country
Netherlands
I made a little tool to compress Wii U images/dumps.

How does it work?
It detects duplicate sectors and only stores them once. Essentially this leads to all the empty ranges being shaved off, storing only ranges which contain file or filesystem data.
Although the algorithm is simple, it works really well. In almost all cases it will reduce the size by more than 50% (12GB+!)

Examples (uncompressed size is always 23.3GB):
Super Mario World 3D -> 2.61GB (20.69GB saved)
DKC Tropical Freeze -> 11.7GB (11.6GB saved)
Zelda WW HD -> 2.70GB (20.7GB saved)
Darksiders 2 -> 9.43GB (13.87GB saved)
Mario Party 10 -> 4.01GB (19.29GB saved)

It is lossless, meaning you can compress and uncompress a file and the outcome will still be the same. This is different to tools like WiiScrubber which actually modify the data.

Why is this better than using RAR/ZIP/etc.?
It's faster and tools can natively read it (obv. assuming they support it). At least my future releases will support compressed images directly.

Download (includes source)
Download mirror

The easiest way to use the tool is to just drag the file you want to compress/decompress onto the .exe

Note for developers:
I tried to make it easy to integrate into other projects. If you want to implement it, just include wud.cpp and wud.h and you are good to go (for reading only, code for compression is in main.cpp). API should be self-explanatory. Small adjustments are needed to make it work for non-Windows platforms.
 

Xuman

Well-Known Member
Member
Joined
Jan 26, 2012
Messages
407
Trophies
0
XP
980
Country
United States
I made a little tool to compress Wii U images/dumps.

How does it work?
It detects duplicate sectors and only stores them once. Essentially this leads to all the empty ranges being shaved off, storing only ranges which contain file or filesystem data.
Although the algorithm is simple, it works really well. In almost all cases it will reduce the size by more than 50% (12GB+!)

Examples (uncompressed size is always 23.3GB):
Super Mario World 3D -> 2.61GB (20.69GB saved)
DKC Tropical Freeze -> 11.7GB (11.6GB saved)
Zelda WW HD -> 2.70GB (20.7GB saved)
Darksiders 2 -> 9.43GB (13.87GB saved)
Mario Party 10 -> 4.01GB (19.29GB saved)

It is lossless, meaning you can compress and uncompress a file and the outcome will still be the same. This is different to tools like WiiScrubber which actually modify the data.

Why is this better than using RAR/ZIP/etc.?
It's faster and tools can natively read it (obv. assuming they support it). At least my future releases will support compressed images directly.

Download (includes source)
Download mirror

The easiest way to use the tool is to just drag the file you want to compress/decompress onto the .exe

Note for developers:
I tried to make it easy to integrate into other projects. If you want to implement it, just include wud.cpp and wud.h and you are good to go (for reading only, code for compression is in main.cpp). API should be self-explanatory. Small adjustments are needed to make it work for non-Windows platforms.
Will mosdef try this asap. Good job! Small things like these are what helps out in the long run. I myself am glad the Wii U scene is healthy lately.
 
  • Like
Reactions: canariobr

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,870
Trophies
2
Location
At Home :)
XP
4,480
Country
@Exzap . Good work just a thought is this in connection with loadiine cause I see it puts out a WiiU.wux file, not WiiU.wud, any connection with @golden45 ? interesting seems about the right time a compressor has popped up all of a sudden.
 
Last edited by Reecey,

EclipseSin

Ignorant Wizard
Member
Joined
Apr 1, 2015
Messages
2,063
Trophies
1
Age
35
Location
221b Baker Street
XP
1,737
Country
United Kingdom
@Exzap . Good work just a thought is this in connection with loadiine cause I see it puts out a WiiU.wux file, not WiiU.wud, any connection with @golden45 ? interesting seems about the right time a compressor has popped up all of a sudden.
Loadiine doesn't work with WUDs as far as I know. It works with extracted files. And I'd assume .wux is just the extension he chose for compressed wud... Could name it .iso for the same effect.
 

Exzap

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
154
Trophies
0
XP
1,570
Country
Netherlands
@Exzap . Good work just a thought is this in connection with loadiine cause I see it puts out a WiiU.wux file, not WiiU.wud, any connection with @golden45 ? interesting seems about the right time a compressor has popped up all of a sudden.
It's just a coincidence. Probably not useful for loadiine due to the reason already stated by EclipseSin.
 

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
I just thought .pux .wux files? I don't know.
seeing as the loader made by @golden45 uses the extracted files i doubt this will be of any use except for archiving "backup", but tbh the raw extracted file system offers the same space saving and means you dont have to extract it several times to access the actual file system :P
 

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,870
Trophies
2
Location
At Home :)
XP
4,480
Country
seeing as the loader made by @golden45 uses the extracted files i doubt this will be of any use except for archiving "backup", but tbh the raw extracted file system offers the same space saving and means you dont have to extract it several times to access the actual file system :P
So what your saying is, this loader can only load official back ups that are extracted before hand, it cant load any .wud files etc..? or files in the wild. but then again once they have been extracted I would imagine they would get posted up somewhere in the correct format.
 
Last edited by Reecey,

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
So what your saying is, this loader can only load official back ups that are extracted before hand, it cant load any .wud files etc..? or files in the wild.
well seeing as its based on cafiine almost certainly, not that i have access to it or know exactly what it uses, but he has stated it started as a modified cafiine to load the rpx file from the network too.....which suggests its extracted files only

but you can extract the files from a wud file using Uwizard too using the titlekey that is included in the nfo on most releases, so they aren't exactly useless and can still be used, just that the extracted files are more manageable than trying to stream the entire encrypted image over a network
 
Last edited by gamesquest1,

Irastris

Well-Known Member
Member
Joined
May 3, 2015
Messages
1,116
Trophies
0
XP
895
Country
United States
I actually designed my own WUD compression algorithm, but the reason I didn't add it to Uwizard is that DiscU is closed source and it can't read compressed games.

Was it just due to how your technique worked? I'd hate to compress the .wuds and not be able to easily use them anymore. (But this 186GBs is seriously killing me, I should invest in a better HDD)
 

Irastris

Well-Known Member
Member
Joined
May 3, 2015
Messages
1,116
Trophies
0
XP
895
Country
United States
I don't know what you mean. Could you please explain the quoted text a little better?

You say your algorithm made them incompatible with DiscU, does that mean it worked differently than Exzap's program does? He claims his program allows them to still be compatible, so I'd assume it's different, but I'd still like to be sure before I go around compressing my WUD folder.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    I'm so pumped, NCAA football video game is back after a 10 year hiatus, coming to SeriesS/X, PS5 in July.
  • BigOnYa @ BigOnYa:
    Wish they would let us play the NCAA football 14 on newer xbox, its one of the only games I love and own on disc still, that is not back compatible, bs.
  • AdenTheThird @ AdenTheThird:
    @BigOnYa My dad recently bought a spare Series X off of me, got game pass, and saw Madden '24 on Game Pass, decided to try it out.

    ...He was a bit taken aback by the 60GB download size. Poor guy's still living in the 90s!
    +1
  • SylverReZ @ SylverReZ:
    @AdenTheThird, Bro's still in the PS2 age.
  • K3Nv2 @ K3Nv2:
    Lol charging your dad's classic unless he's the type that doesn't like taking things like that
  • AdenTheThird @ AdenTheThird:
    @K3Nv2 He was looking into consoles for his house anyway (for my younger siblings and himself) and I had a spare XSX and Switch I ended up selling him at pretty steep cuts. I would just give them to him, but I did buy them with the intent to sell them... and college is super expensive.
  • BigOnYa @ BigOnYa:
    A little yeah...
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, [insert wut here]
    +1
  • BigOnYa @ BigOnYa:
    I'm a little hi, but bout to fix that.
    +1
  • BigOnYa @ BigOnYa:
    Now I'm low, i was upstairs in my wifeys kitchen, now I'm downstairs in my dungeon.(My basement)
    +1
  • BakerMan @ BakerMan:
    do you mind? i snuck in with amiibo and jars, and am trying to do my thing brony style
  • BakerMan @ BakerMan:
    have you ever regretted saying something immediately after saying it?
    +1
  • BakerMan @ BakerMan:
    nah what i was doing was trying to cure my ever-so-apparent crabs
  • Xdqwerty @ Xdqwerty:
    @SylverReZ,
    my younger brother is forcing me to play with him and my cousins are here *sigh*
    +1
  • BigOnYa @ BigOnYa:
    @SylverReZ that Hack a hacked 360 vid was neat, never knew it existed.
    +1
  • SylverReZ @ SylverReZ:
    @BigOnYa, I thought it was interesting.
    +1
  • Xdqwerty @ Xdqwerty:
    nvm this video is clickbait
  • K3Nv2 @ K3Nv2:
    I got a dazzel capture card some place in storage
    K3Nv2 @ K3Nv2: I got a dazzel capture card some place in storage