Hacking [RELEASE] wfs-fuse - Mount Wii U USB drives on Linux (and MLC dumps)

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,098
Country
Israel
In continue to my last tool, wfsdump, I wrapped wfslib with fuse. Now you can mount WFS USB and MLC dumps on linux, (currently in read only mode)

Source code

Build:
Install the requirements
Code:
sudo apt-get install git g++ make libfuse-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libcrypto++-dev

Clone the repository:
Code:
git clone https://github.com/koolkdev/wfslib.git

Enter the directory and run the Makefile:
Code:
cd wfslib
make


Usage:
Code:
usage: wfs-fuse <device_file> <mountpoint> --otp OTP_PATH [--seeprom SEEPROM_PATH] [--usb] [--mlc]

options:
   --help|-h             print this help message
   --otp|-o PATH         otp file
   --seeprom|-s PATHH    seeprom file (required if usb)
   --usb|-u              device is usb (default)
   --mlc|-m              device is mlc
   -d   -o debug         enable debug output (implies -f)
   -f                    foreground operation
   -s                    disable multi-threaded operation

Example:
Code:
sudo wfs-fuse /dev/sdb /mnt --otp otp.bin --seeprom seeprom.bin


upload_2017-7-27_1-17-58.png
 
Last edited by EyeKey,

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
When writting into an archive will be implemented, it would be good to possibly convert to FAT32.... But useless for now since mocha doesn't handle well FAT32 (HUUU in fact it's nintendo FAT32 driver who is shitty :P)

Great job anyway :)
 

lexarvn

Well-Known Member
Member
Joined
Nov 15, 2010
Messages
157
Trophies
1
XP
1,804
Country
United States
Wow! This is kinda amazing! Since the wii u formatted hard drives can be read now, any possibility of being able to partition a hard drive for wii u/vwii simultaneous use? Don't know the details of why it was said that it couldn't be done beyond not knowing how to even read wii u formatted hard drives.

I guess the other question would be if write access is achieved, might it be possible to put other files on it and have homebrew apps in vwii read the wii u formatted hard drive?
 

nolimits59

Well-Known Member
Member
Joined
Apr 25, 2008
Messages
701
Trophies
1
XP
2,064
Country
France
DS what? Never heard about that.

BTW I think USB to write into the wiiu will break it (full dump). So only hadmode
sry didnt paid attention, DS Game,
And im talking aobut writing into the USB formated WiiU drive, put your legit DS game on it, edit it with haxchi on PC with a WiiU-FS, you're done.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
sry didnt paid attention, DS Game,
And im talking aobut writing into the USB formated WiiU drive, put your legit DS game on it, edit it with haxchi on PC with a WiiU-FS, you're done.
:P

Anyway it's impossible you still need an entrypoint to dump your seeprom and otp.
 

nolimits59

Well-Known Member
Member
Joined
Apr 25, 2008
Messages
701
Trophies
1
XP
2,064
Country
France
:P

Anyway it's impossible you still need an entrypoint to dump your seeprom and otp.
Yeah but maybe in a near future, we can figure out a way to get rid of that barrier :), would be cool for 5.5.2s without haxchi installed before, not my case but it would be neat ! ^^
 

Kafluke

Well-Known Member
Member
Joined
May 6, 2006
Messages
5,474
Trophies
0
Age
47
XP
4,636
Country
United States
sry didnt paid attention, DS Game,
And im talking aobut writing into the USB formated WiiU drive, put your legit DS game on it, edit it with haxchi on PC with a WiiU-FS, you're done.
Maybe we do some comparisons for testing? Read the DS game with HaxChi installed from a system with HaxChi working and compare it with the same DS game on a 5.5.2. I don't know if this would work since there are signatures and whatnot but wouldn't hurt to try
 

Nigleet

Well-Known Member
Newcomer
Joined
Mar 19, 2017
Messages
87
Trophies
0
Location
Aidsville, Cancerland
XP
635
Country
Canada
Wow! This is kinda amazing! Since the wii u formatted hard drives can be read now, any possibility of being able to partition a hard drive for wii u/vwii simultaneous use? Don't know the details of why it was said that it couldn't be done beyond not knowing how to even read wii u formatted hard drives.

I guess the other question would be if write access is achieved, might it be possible to put other files on it and have homebrew apps in vwii read the wii u formatted hard drive?
This is would be literally the perfect setup. Make a Wii U Partition alongside an NTFS for Wii and a FAT32 for Nintendont. I'll keep my fingers crossed. Eye have faith in you @EyeKey .
 

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I'm surprised that nobody tried this with Mocha's FAT32 feature, since the only way to move WFS formated drive titles to a FAT32 drive was with ftpiiu everywhere.
 
  • Like
Reactions: KiiWii

2rl

New Member
Newbie
Joined
Jan 3, 2018
Messages
1
Trophies
0
Age
41
XP
51
Country
United States
Hi! I'm on Linux Mint 18.2 and your instructions are not working for me, I've installed the requirements without errors, cloned the repo, and executed make, this is its output:

make -C wfslib
make[1]: Entering directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfslib'
Makefile:21: .depend: No such file or directory
rm -f .depend
g++ -c -Wall -Werror -std=c++14 -MM Area.cpp Block.cpp DataBlock.cpp DeviceEncryption.cpp Directory.cpp File.cpp FileDevice.cpp KeyFile.cpp MetadataBlock.cpp Structs.cpp SubBlockAllocator.cpp Wfs.cpp WfsItem.cpp > .depend
g++ -c -Wall -Werror -std=c++14 Area.cpp -o Area.o
g++ -c -Wall -Werror -std=c++14 Block.cpp -o Block.o
g++ -c -Wall -Werror -std=c++14 DataBlock.cpp -o DataBlock.o
g++ -c -Wall -Werror -std=c++14 DeviceEncryption.cpp -o DeviceEncryption.o
g++ -c -Wall -Werror -std=c++14 Directory.cpp -o Directory.o
g++ -c -Wall -Werror -std=c++14 File.cpp -o File.o
g++ -c -Wall -Werror -std=c++14 FileDevice.cpp -o FileDevice.o
g++ -c -Wall -Werror -std=c++14 KeyFile.cpp -o KeyFile.o
g++ -c -Wall -Werror -std=c++14 MetadataBlock.cpp -o MetadataBlock.o
g++ -c -Wall -Werror -std=c++14 Structs.cpp -o Structs.o
g++ -c -Wall -Werror -std=c++14 SubBlockAllocator.cpp -o SubBlockAllocator.o
g++ -c -Wall -Werror -std=c++14 Wfs.cpp -o Wfs.o
g++ -c -Wall -Werror -std=c++14 WfsItem.cpp -o WfsItem.o
ar rcs ../libwfs.a Area.o Block.o DataBlock.o DeviceEncryption.o Directory.o File.o FileDevice.o KeyFile.o MetadataBlock.o Structs.o SubBlockAllocator.o Wfs.o WfsItem.o
make[1]: Leaving directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfslib'
make -C wfs-extract
make[1]: Entering directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-extract'
Makefile:23: .depend: No such file or directory
rm -f .depend
g++ -I../ -c -Wall -Werror -std=c++14 -MM main.cpp > .depend
g++ -I../ -c -Wall -Werror -std=c++14 main.cpp -o main.o
g++ main.o -L../ -lwfs -lboost_system -lboost_filesystem -lboost_program_options -lcryptopp -lstdc++ -o wfs-extract
make[1]: Leaving directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-extract'
make -C wfs-fuse
make[1]: Entering directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-fuse'
Makefile:23: .depend: No such file or directory
rm -f .depend
g++ -I../ -c -Wall -Werror -std=c++14 -D_FILE_OFFSET_BITS=64 -MM wfs-fuse.cpp > .depend
g++ -I../ -c -Wall -Werror -std=c++14 -D_FILE_OFFSET_BITS=64 wfs-fuse.cpp -o wfs-fuse.o
g++ wfs-fuse.o -L../ -lfuse -lwfs -lboost_system -lboost_filesystem -lboost_program_options -lcryptopp -lstdc++ -o wfs-fuse
make[1]: Leaving directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-fuse'
make -C wfs-file-injector
make[1]: Entering directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-file-injector'
Makefile:23: .depend: No such file or directory
rm -f .depend
g++ -I../ -c -Wall -Werror -std=c++14 -MM main.cpp > .depend
g++ -I../ -c -Wall -Werror -std=c++14 main.cpp -o main.o
g++ main.o -L../ -lwfs -lboost_system -lboost_filesystem -lboost_program_options -lcryptopp -lstdc++ -o wfs-file-injector
make[1]: Leaving directory '/home/ruben2rl/wfsfuse/wfslib/wfslib/wfs-file-injector'



Then I execute sudo wfs-fuse and it says command not found...

I really need to use this software to recover the save files from my wii u usb stick. I need to mount it in my computer and copy the save files of some games at least. The console tells me there is a problem with the usb device and forces me to restart the system. Can anyone give me a hand please?
 
Last edited by 2rl,

EyeKey

Well-Known Member
OP
Member
Joined
Feb 10, 2017
Messages
280
Trophies
0
XP
1,098
Country
Israel
Hi! I'm on Linux Mint 18.2 and your instructions are not working for me, I've installed the requirements without errors, cloned the repo, and executed make, this is its output:

Then I execute sudo wfs-fuse and it says command not found...

I really need to use this software to recover the save files from my wii u usb stick. I need to mount it in my computer and copy the save files of some games at least. The console tells me there is a problem with the usb device and forces me to restart the system. Can anyone give me a hand please?

The makefile doesn't install the binaries, so you probably need to run sudo ./wfs-fuse/wfs-fuse [arguments..].
 

Spinoni31

Member
Newcomer
Joined
Jun 9, 2018
Messages
9
Trophies
0
Age
23
XP
92
Country
Italy
Hello, i just finished the makefile procedure and was trying to load my usb pendrive to recover some data that i needed before i formatted it to a filessystem that i could use with my pc to store files. i'm using the example string in the main post but when i try to run this the program gives me the error "Failed to open OTP: KeyFile: Failed to open file". how can i solve this? I'm using ubuntu 18.04 with kde plasma on a vm with 2GB ram and a 10GB virtual hard disk with plans to add another for the transport of the data that i have on that pendrive.
 
Last edited by Spinoni31,

piete

Member
Newcomer
Joined
Jun 24, 2013
Messages
22
Trophies
1
Age
50
XP
592
Country
Brazil
Hi and apologies for gravedigging yet another thread, but in this case I do think it is better to continue the original thread than start a new one.

I have only now had enough time to familiarize myself with the Wii U scene, and I hope not every developer has abandoned it yet. I for one consider Wii U a great console, a step forward from Wii which was my previous favourite console (and I still have a big backlog there).

I managed to compile and run wfs-fuse on my first try on Linux Mint 19. Congratulations to EyeKey! I still wish we could have best of both worlds, all Wii U and vWii software on one HDD, readable (and hopefully directly installable) by PC.

My concerns of the current situation are that I lost one HDD on Wii U and a BOTW save with it. I also have some problems with the new HDD that is not powered, maybe there is a problem with the Y-cable but sometimes the drive works and sometimes not. Today it didn't work, so I installed wfs-fuse to check if the drive was still readable (and it is!).

I haven't tried yet, but I think that at least with wfs-fuse we should be able to backup (and restore) the saves more easily, am I correct? Even if reinstalling the games on a new drive is a chore, at least it is lesser evil than losing a save. But with wfs-fuse, I could also back up my installs so that after formatting a new drive on Wii U, I could just copy the backup to it, correct? Has somebody already done this?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night