Hacking wfsdump - PC util for dumping WFS devices (WiiU File System)

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,099
Country
Israel
Hi, is it possible to write to a WFS HDD using wfs-fuse? or is it read-only? I found interesting that NUSSpli is capable of installing titles by reading them in USB:/install , so my idea would be to connect my Wii U HDD to the PC and put the contents I want to install there, using WFS utilities. The reason for this is because my Wii U is picky with SD Cards once I eject them... and it's a pain to make them work again.

Thanks!
Not possible yet. It is WIP
 

gunionbag

New Member
Newbie
Joined
Jan 31, 2023
Messages
4
Trophies
0
Age
44
XP
24
Country
United Kingdom
Not possible yet. It is WIP
Here is my specific situation. Any help or advise would be greatly appreciated. I'm trying to restore the Wii U saved games saved to a USB pen drive.

- The Wii U stopped reading Wii discs
- I read somewhere that resetting the Wii U system would fix the issue
- I first made a backup of the saved games on the Wii U to a USB pen drive using the Wii U inbuilt backup software
- I reset the Wii U system
- Inserted the USB pen drive into the Wii U, it is not recognised but also the Wii U does not ask me to format it
- I installed the Home Brew Channel on the Wii U
- Ran the nandumper program on the Wii U to extract the files to an SD card
- Copied the otp.bin and seeprom.bin files created with nandumber to the same folder as wfs-extract

When I run the following command I get the following error;

wfs-extract --input \\.\PhysicalDrive4 --otp otp.bin --seeprom seeprom.bin --output output

Error: Unexpected WFS version (bad key?)

Any idea what I am doing wrong?
 
Last edited by gunionbag,

gunionbag

New Member
Newbie
Joined
Jan 31, 2023
Messages
4
Trophies
0
Age
44
XP
24
Country
United Kingdom
Miraculously I have made progress with this. After reading a number of articles in this forum, I managed to successfully dump the save files from the USB pen drive I backed the save games onto using the Wii U inbuilt backup software, even though I performed a system restore on the Wii U after I backed up the saved games.

What worked for me was to:

- Run the nandumper program on the Wii U to extract the files to an SD card, then take a copy of otp.bin and seeprom.bin,
- Apparently each time you do a system restore of a Wii U, there is a counter in the seeprom.bin file that gets incremented by 1,
- I used the HxD Hex Editor to edit the seeprom.bin file and subtract 1 from the final byte of the 000000B0 row:

6KkKUpH.png


- Saved the seeprom.bin file and ran the wfs-extract command with the syntax I used in my earlier post and the save files were dumped to my PC's hard drive.

Now my next step is to load the saved game files from my PC back to the Wii U. From what I have read it looks like this should be possible using the "wfs-file-injector" program. Is that correct? Are these the the correct steps to do thi:

- Load the game I want to restore the saved game for onto the Wii U,
- Launch the game then save the game progress,
- Copy the saved game to a new USB pen drive inserted into the Wii U using the Wii U inbuilt backup software,
- Plug the new USB pen drive into my PC then use "wfs-file-injector" to copy the previously backed up save game from my PC to the new USB pen drive,
- Insert the new USB pen drive back into the Wii U then restore the saved game state to the Wii U from the USB pen drive using the inbuilt Wii U backup software.

Is that correct, or is there a different/easier way to achieve this? Many thanks in advance for any help provided.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
just reinject saves with savemii mod, ftp, or saviine instead of wfs-file-injector. I don't think you can do that specifically through the file injector anyway.
 

gunionbag

New Member
Newbie
Joined
Jan 31, 2023
Messages
4
Trophies
0
Age
44
XP
24
Country
United Kingdom
I just wanted to say a big thank you to all the people who have contributed to this forum, whether it be by developing software to extend the functionality of various consoles, or just providing comments, feedback and advice to help morons such as myself. Through your help I have managed to recover the saved Wii U games I had mistakenly deleted from our Wii U, and everything is back to running normal again, and my teenage son has one less reason to hate me now that his Wii U saved games have been restored. I think I owe someone a beer. Thanks again.
 
  • Like
Reactions: godreborn

ajh3000

Member
Newcomer
Joined
Dec 29, 2017
Messages
8
Trophies
0
XP
103
Country
Australia
Hi

I have plugged my old HDD full of games into the Wii U (via a powered Orico hub) and it doesn't get recognised like it used to several years ago. If I put another SSD into the hub, the Wii U offers to format it. So I think the HDD might have a problem.

When I plug the old HDD into my PC, Windows diskmgmt.msc detects it is plugged in. I haven't clicked format or written a MBR or anything. I didn't touch anything in Windows :)

I want to either make the disk recogniseable again or at least be able to view and pull the games out of it.

Questions:
- Is wfs-tools suitable for what I want to do?
- Can I run wfs-tools from WSL (linux in windows)? Will I get the Linux-only features in there?

Thanks
 

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
Sorry to bother you.

I've been trying to use wfs-use in Ubuntu in order to mount my wiiu hdd. Everything seems to work flawlessly when using this command:

sudo wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other

But then, when trying to open the mnt folder, I receive an error message:

"Sorry, could not display all the contents of "mnt": Error opening directory '/mnt': Transport endpoint is not connected"

I can even open the mnt folder from the terminal, and when using the dir command I can see two folders (install and usr). But when trying to access to any of them, I see the following message:

"bash: cd: urs: Transport endpoint is not connected"

Hope someone can help me with this issue.

Thanks a lot.
 

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,099
Country
Israel
Sorry to bother you.

I've been trying to use wfs-use in Ubuntu in order to mount my wiiu hdd. Everything seems to work flawlessly when using this command:

sudo wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other

But then, when trying to open the mnt folder, I receive an error message:

"Sorry, could not display all the contents of "mnt": Error opening directory '/mnt': Transport endpoint is not connected"

I can even open the mnt folder from the terminal, and when using the dir command I can see two folders (install and usr). But when trying to access to any of them, I see the following message:

"bash: cd: urs: Transport endpoint is not connected"

Hope someone can help me with this issue.

Thanks a lot.
Sorry I think that it is a bug in the v1.1 version. Try to use the older v1.0 instead. I will release a new fixed version soon.
 
  • Like
Reactions: alcab and ber71

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
Thanks for the info!!! I will try it later today!
Post automatically merged:

Hello again,

Unfortunately, wfs-fuse is not compiled in your previous version, and I am completely helpless when trying to build these sort of files in Ubuntu.

Thanks a lot anyways, I'll wait until your next release!
 
Last edited by alcab,

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
I am still experiencing the same issue with the newest version. It might be a problem of using Ubuntu in a Virtual Machine in Windows.

Thanks a lot for your amazing work!!
 

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,099
Country
Israel
I am still experiencing the same issue with the newest version. It might be a problem of using Ubuntu in a Virtual Machine in Windows.

Thanks a lot for your amazing work!!
It worked for me with the same setup. At least with a version that I compiled there.
Can you run it with gdb and shate where it crashes? Just run "sud gdb wfs-fuse" and than run the command "r --input.. (all the args) -f"
Try to access the file and than when it crash go back to the gdb show the output of "bt"
 

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
I'll will try this tonight. Thanks for your help!
Post automatically merged:

I see the following when doing what you said:

Starting program: /home/alcab/Escriptori/Carpeta nova/wfs-fuse --input.. (all the args) -f
/bin/bash: -c: line 1: syntax error near unexpected token `('
/bin/bash: -c: line 1: `exec '/home/alcab/Escriptori/Carpeta nova/wfs-fuse' --input.. (all the args) -f'

During startup program exited with code 2.
 
Last edited by alcab,

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,099
Country
Israel
I'll will try this tonight. Thanks for your help!
Post automatically merged:

I see the following when doing what you said:

Starting program: /home/alcab/Escriptori/Carpeta nova/wfs-fuse --input.. (all the args) -f
/bin/bash: -c: line 1: syntax error near unexpected token `('
/bin/bash: -c: line 1: `exec '/home/alcab/Escriptori/Carpeta nova/wfs-fuse' --input.. (all the args) -f'

During startup program exited with code 2.
Just replace '--input.. (all the args)' with the args that you usually give to wfs-fuse
(Oops yeah it doesn't look like it at all. Aka replace it with mlc.bin /mnt/mlc --otp...)
 

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
Ok. I think I'm doing this right now. When typing this in gdb:

(gdb) r wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f

I get the following message:

--------------------------------------------------------
Starting program: /home/alcab/Desktop/f/wfs-tools/build/default/wfs-fuse/Release/wfs-fuse wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f

[Depuración de hilo usando libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Missing type (--otp)
[Inferior 1 (process 6097) exited with code 01]
--------------------------------------------------------

Am I doing something wrong now?

Thanks again for your patience and kind help.
 

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,099
Country
Israel
Ok. I think I'm doing this right now. When typing this in gdb:

(gdb) r wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f

I get the following message:

--------------------------------------------------------
Starting program: /home/alcab/Desktop/f/wfs-tools/build/default/wfs-fuse/Release/wfs-fuse wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f

[Depuración de hilo usando libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Missing type (--otp)
[Inferior 1 (process 6097) exited with code 01]
--------------------------------------------------------

Am I doing something wrong now?

Thanks again for your patience and kind help.
Oops it seems that there is a little issue with the new command line. Add --type usb
 

alcab

Well-Known Member
Member
Joined
Nov 22, 2005
Messages
189
Trophies
1
Website
Visit site
XP
1,054
Country
I think I finally got it:

-----------------------------------
(gdb) r /dev/sdb /mnt --type usb --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f
Starting program: /home/alcab/Desktop/wfs-tools-v1.2-linux-x86-64/wfs-fuse /dev/sdb /mnt --type usb --otp otp.bin --seeprom seeprom.bin -o default_permissions,allow_other -f

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff7bff640 (LWP 5798)]
[New Thread 0x7ffff73fe640 (LWP 5799)]
[New Thread 0x7ffff6bdb640 (LWP 5804)]

Thread 2 "wfs-fuse" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7bff640 (LWP 5798)]
0x00005555555fb19b in AttributesBlock::Attributes() const ()

(gdb)
------------------------------------------------------------------------------------------------------------------

When trying to access the "mnt" folder, I can see "Loading" down in the right corner of the window with a red dot signal, but no content in shown.

I'm beginning to think this is a problem with my hard drive. It works perfectly when connected to my Wii U, but I suspect something might be wrong with it.

Thanks again for taking your time to help me!
 
Last edited by alcab,

TheMasonfrom3R

New Member
Newbie
Joined
Apr 12, 2024
Messages
1
Trophies
0
Age
18
XP
3
Country
United States
Hello. How do I use this program/load it? I click on any of the applications and it just instantly closes. I don't know how coding works at all btw
Post automatically merged:

Hello, how do i use this program? Because when I open any of the applications they instantly close. Am I supposed to do something for the to work?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BunnyPinkie @ BunnyPinkie: Lol not me trying to get people to make an uncensor patch for imagine makeup artist