Hacking Uwizard: All-In-One Wii U PC Program

  • Thread starter Thread starter Mr. Mysterio
  • Start date Start date
  • Views Views 555,994
  • Replies Replies 675
  • Likes Likes 40
I've been meaning to parse that XML and load in all the versions, haven't gotten around to it tho, no easy way to download the .versionlist files with python without ignoring that there's no SSL cert :\

From nuspy:

# Bundle server cert files from updates/0005001B10054000/extracted/content/scerts/
BUNDLE=nintendo_cert_bundle.pem
rm -f $BUNDLE
for X in CACERT_NINTENDO_*.der; do
openssl x509 -inform DER -in $X -outform PEM >> $BUNDLE
done

# Check the bundle works
if echo -n "" | openssl s_client -connect tagaya.wup.shop.nintendo.net:443 -CAfile $BUNDLE; then
echo "Bundle OK"
fi

Then use the bundle like this:
html = requests.get(url, verify='nintendo_cert_bundle.pem')

Note that tagaya sometimes lags behind what tmd.NNN's are available for 1-2 days.
The sequence seems to be
* push new tmd.NNN to CDN
* update tagaya
* CDN refreshes tmd (with no .NNN)
 
  • Like
Reactions: NWPlayer123
Is there a way to know what is the current latest version for a game ?

The wiiubrew.org/wiki/Title_database seems quite outdated and not maintained...

Would it be possible to add and option to Uwizard that would check for the latest version? The way that I see it, it would have to start with the higest number, let's say 256 and go down until it get the latest version downloading.

Is there another way that I've missed ?

Thanks ! :)

It's a wiki - instead of bitching about it, update it yourself.

I refreshed the "updates" versions the other day, but there is *zero* point in trying to keep it current; tagaya is sometimes updated several times a day. Without a live feed the wiki will always be out of date, and there is no point setting up a live feed because you can query tagaya directly.

sqlite3 tagaya.db "SELECT list_version, DATETIME(last_modified, 'unixepoch') FROM list_info ORDER BY list_version DESC LIMIT 10;"
1154|2016-04-15 16:00:03
1153|2016-04-14 16:00:27
1152|2016-04-14 11:00:02
1151|2016-04-13 10:04:16
1150|2016-04-13 01:11:30
1149|2016-04-13 01:10:47
1148|2016-04-13 01:10:09
1147|2016-04-13 01:00:09
1146|2016-04-12 18:20:02
1145|2016-04-12 18:15:02


You can't start at the top, you have to start at the last known value and count upwards.
The game versions usually increment by 16, with the odd +1. If you view the version numbers in hex they seem to be using the last digit as some sort of minor patch version number.

Here's the current highest version numbers:
sqlite3 tagaya.db "SELECT * FROM (SELECT title_id, MAX(title_version) AS mv FROM title_info GROUP BY title_id) ORDER BY mv DESC LIMIT 5"
0005000E10115E00|2416
0005000E1014DA00|1408
0005000E10110E00|224
0005000E10144F00|224
0005000E10145000|224
 
Note that tagaya sometimes lags behind what tmd.NNN's are available for 1-2 days.
The sequence seems to be
* push new tmd.NNN to CDN
* update tagaya
* CDN refreshes tmd (with no .NNN)
I don't think that it really "lags" behind, I think they just update tagaya when they really want people to download a new version, because that's what the Wii U Menu checks at boot.
 
I don't think that it really "lags" behind, I think they just update tagaya when they really want people to download a new version, because that's what the Wii U Menu checks at boot.

Yeah, it lags. I've been monitoring this fairly closely for a few months now.
I assume they make sure the CDN can access the new content before they update the versionlist.
If they didn't, users would complain about broken downloads.

The surprising part is how long it can take before the CDN updates the tmd.
It seems to vary from 0-3 days, and it varies from server to server.
(I would have used shorter TTLs, but I'm not paying the bill.)

This is what prompted me to start parsing tagaya instead of using the tmd to get the latest version.

Example code is on github.
 
It's a wiki - instead of bitching about it, update it yourself.

I refreshed the "updates" versions the other day, but there is *zero* point in trying to keep it current; tagaya is sometimes updated several times a day. Without a live feed the wiki will always be out of date, and there is no point setting up a live feed because you can query tagaya directly.

sqlite3 tagaya.db "SELECT list_version, DATETIME(last_modified, 'unixepoch') FROM list_info ORDER BY list_version DESC LIMIT 10;"
1154|2016-04-15 16:00:03
1153|2016-04-14 16:00:27
1152|2016-04-14 11:00:02
1151|2016-04-13 10:04:16
1150|2016-04-13 01:11:30
1149|2016-04-13 01:10:47
1148|2016-04-13 01:10:09
1147|2016-04-13 01:00:09
1146|2016-04-12 18:20:02
1145|2016-04-12 18:15:02


You can't start at the top, you have to start at the last known value and count upwards.
The game versions usually increment by 16, with the odd +1. If you view the version numbers in hex they seem to be using the last digit as some sort of minor patch version number.

Here's the current highest version numbers:
sqlite3 tagaya.db "SELECT * FROM (SELECT title_id, MAX(title_version) AS mv FROM title_info GROUP BY title_id) ORDER BY mv DESC LIMIT 5"
0005000E10115E00|2416
0005000E1014DA00|1408
0005000E10110E00|224
0005000E10144F00|224
0005000E10145000|224

Sorry if I've sounded bitchy, it wasn't the goal here...

I may try to make a little software that query the db if I have some free time in the near future !

Thanks for the infos ! :)
 
So going though and tidying up all this code is a bigger job than I had originally guessed. So I'm here to ask what opinions are for this going forward.

Should cleaning this up to make future collaboration easier be my top priority, or do you guys have a feature that you would want take precedence?

In case anyone wants to join in, this is where I'm gonna be developing against until we hear from MrMysterio: https://github.com/EvilGamerX/Uwizard
 
So going though and tidying up all this code is a bigger job than I had originally guessed. So I'm here to ask what opinions are for this going forward.

Should cleaning this up to make future collaboration easier be my top priority, or do you guys have a feature that you would want take precedence?

In case anyone wants to join in, this is where I'm gonna be developing against until we hear from MrMysterio: https://github.com/EvilGamerX/Uwizard
I would say right now you should focus on optimizing code and making sure it's commented in a way that you and others can understand it.

Other than that, I have a few requests from a while back if you're interested:
  • if you're feeling ambitious (since I now know just how much work this would take), it would be cool to have a model viewer implemented (there's a 3dsMax script that converts models into OBJ format, but it would be nice to have it integrated into a free and open source application if possible)
  • It would be nice to have music tracks be properly separated. For example, as it stands, "first place beats" are always playing in MK8 music; it would be nice to be able to select and deselect tracks to convert to WAV
 
  • Like
Reactions: I pwned U!
It would be nice to have music tracks be properly separated. For example, as it stands, "first place beats" are always playing in MK8 music; it would be nice to be able to select and deselect tracks to convert to WAV
lmao that's easy, vgmstream with -2 N option to output only a select set of stereo channels
 
Ok so I have my key and what not, I'm just trying to get the v16 for Wonderful 101 so I can increase the load time with the data002.cpk modification. Every time I go to try to download it, it keeps kicking back with the 404. I have allowed it on my computer's firewall as well as the router. I got my Title ID from my game itself so I know that it is correct. However it just won't download the update. Can anyone pleeeeeeeeease help?
 
There's a problem when decrypting zombiu eur: Failed to verify H0 hash, I redownloaded the game 3 times from the nus
 
When I try to update in last tab, I click on button, it downloads files then ends with an error message saying "problem in update" and then nothing seems updated.
 
Anybody knows what's up?
I'm trying to use Uwizard to decrypt smash 4.

Then I get this error:
Starting NUS Download. Please be patient!
Downloading Title 0005000E010110E0 v[Latest]...
[=] Storing Encrypted Content...
- Downloading TMD...
+ Downloading TMD Failed...
Download failed: "Downloading TMD Failed:
The remote server returned an error: (404) Not Found."

I took the dash out the title ID, and I also have all three decrypted keys.
 
Anybody knows what's up?
I'm trying to use Uwizard to decrypt smash 4.

Then I get this error:
Starting NUS Download. Please be patient!
Downloading Title 0005000E010110E0 v[Latest]...
[=] Storing Encrypted Content...
- Downloading TMD...
+ Downloading TMD Failed...
Download failed: "Downloading TMD Failed:
The remote server returned an error: (404) Not Found."

I took the dash out the title ID, and I also have all three decrypted keys.

Same issue on my end.
 
Ok just tried using Uwizard and have a couple of issues.
Check for update always returns "error downloading version info from wiibrew.net. update process cancelled".
I am using the latest version but don't expect this result regardless.
Import Game database. I select the downloaded gamesdatabase.txt. It always returns "Unhandeled exception blah blah in use by another process" Any help appreciated.
 

Site & Scene News

Popular threads in this forum