Hey everyone,
as promised here is a version of ddd that can dump the /vol/meta folder. Big thanks to
@n1ghty for doing so many time consuming tests, especially since we encountered several issues with the system menu and attached USB devices.
So check out the git release page here:
https://github.com/dimok789/ddd/releases
How to use:
To dump the meta folder it requires a bit special treatment. As always just start the host application (with /vol/meta or /vol) and the WiiU application and run the title you want to dump. Now to dump the meta folder on WiiU disc titles or titles that are installed on USB you have to press the HOME button and the dumping of the meta folder will start. Wait for it to finish dumping before you close the home menu screen again. Now for titles that are installed to the NAND (system memory) this doesn't work. For those you have to exit the title to WiiU System Menu and wait up to 30 seconds. The meta folder dumping of the NAND title that was launched before should start about 15 Seconds after System Menu is started. This whole procedure is needed because the access rights are limited inside the game and are a bit higher on the system menu.
Explanation on how it is done:
So how do we dump the meta folder which is normally not accessable through the FS functions?
I was looking through the men.rpx (system menu) assembly and i saw it calling an FS function that looked interessting, FSBindMount. That function was called with path parameters that were interessting. The system menu creates with this something similar to a symbolic link on linux for the path ".../meta" to a path called "/vol/app_priv". So I started checking it out and find out that you can actually link any titles meta folder, e.g. /vol/storage_odd3/meta to a folder like /vol/app_priv or even just /vol/meta. From that position you can then access the folder /vol/meta (or the app_priv) with normal FS functions. There is only one problem with that, that you dont have access to those paths from the game titles or any other titles I tested except Mii Maker, System Menu and, you might have guessed it, Home Menu. So thats why I had to first do a few changes to the ddd application to actually bind the correct title that we want to dump. Now this is quite nice that you can create symlinks with this. I checked binding /vol/storage_odd03/code to some path but that wasn't accessable but I expected that kind of, though its too bad.
Well i played a bit more with it and found out that you can actually just hook that function and replace whatever the system tries to link to /vol/app_priv (or /vol/meta_priv (odd03 meta/manual) or /vol/private_mnt (usb mount)) and just link some other path you like to it. This allows you to inject the system some other meta path and with that you can for example make it load different icons for the titles that the system menu or the home menu displays. What we do with this? Well for now nothing as I didnt have much time for digging much deeper into this but this just smells like something we can exploit a little more
.
EDIT:
I updated the WiiU archive on the release and added a new meta.xml and an icon.png from
@TiMeBoMb4u2 (thanks)