Hacking Wii U image (WUD) compression tool

Exzap

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
154
Trophies
0
XP
1,569
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,864
Trophies
2
Location
At Home :)
XP
4,435
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
0
Age
35
Location
221b Baker Street
XP
1,726
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,569
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,237
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,864
Trophies
2
Location
At Home :)
XP
4,435
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,237
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
883
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
883
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
  • No one is chatting at the moment.
  • Psionic Roshambo @ Psionic Roshambo:
    Batman joined the Trans Justice League
    +2
  • Sicklyboy @ Sicklyboy:
    based af
    +2
  • Sonic Angel Knight @ Sonic Angel Knight:
    Forget the base, get on the roof.
  • K3Nv2 @ K3Nv2:
    Is that a bat in your buckle or are you just happy to have me
  • Psionic Roshambo @ Psionic Roshambo:
    Wonder "Woman" lol you wonder if they are a woman?
  • Psionic Roshambo @ Psionic Roshambo:
    The Riddler has questions...
  • K3Nv2 @ K3Nv2:
    Played a little of snow day glad I didn't spend $30
  • K3Nv2 @ K3Nv2:
    It's asthetic is okay maybe a good $10 grab
  • Psionic Roshambo @ Psionic Roshambo:
    Lol is it a game about doing cocaine?
  • K3Nv2 @ K3Nv2:
    Probably in pvp
  • Psionic Roshambo @ Psionic Roshambo:
    I tried Balders Gate II on the PS2 a few minutes ago, not bad lol
  • Psionic Roshambo @ Psionic Roshambo:
    My back catalog of games is like that scene at the end of Indiana Jones where the arc of the covenant is being stored in a giant ass warehouse
  • K3Nv2 @ K3Nv2:
    At least I can will my game catalog to family members
    +1
  • K3Nv2 @ K3Nv2:
    It's your problem now bitches
  • Psionic Roshambo @ Psionic Roshambo:
    Put it in your will that in order to receive any money they have to beat certain games, hard games and super shitty games...
  • Psionic Roshambo @ Psionic Roshambo:
    Say 20 bucks per Ninja Gaiden on the NES lol 60 bucks for all 3
  • Psionic Roshambo @ Psionic Roshambo:
    People you like "Beat level 1 of Ms Pacman" lol
  • K3Nv2 @ K3Nv2:
    Hello kitty ds is required
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Beat Celebrity Death Match on the PS1 omg tried it earlier today .... Absolutely trash
  • Psionic Roshambo @ Psionic Roshambo:
    Like -37 out of 10
  • Psionic Roshambo @ Psionic Roshambo:
    One of the worst games I have ever played
  • K3Nv2 @ K3Nv2:
    Make them rank up every cod game out
  • K3Nv2 @ K3Nv2:
    "Now I know why he took his own life"
    K3Nv2 @ K3Nv2: "Now I know why he took his own life"