Homebrew [How-to] Load a fw.img for Any File Dumping + WiiUBru status update

brkun

Well-Known Member
Member
Joined
Mar 9, 2015
Messages
461
Trophies
0
XP
252
Country
United States
I cannot try because I've not compiled the fw.img neither builded redNand.
I didn't check GBA Temp for a while and I discovered only today about brazilian method and wupserver.

But if it is possible, I can compile it. For now I'm trying to understand what happened while I was out of business...

For my 6-years son, the best is to install games directly on USB with RealNAND, so he can play without starting any hacks.
For me, it is interesting how to overcome some limitation of DDD (for example I was unable to dump COD BO2 because it dumped partial RPL Files) and install it on console, putting the BluRay in safe place
Actually no. Just install games with Brazilian method in sysnand without rednand and you and your son will be fine. Search in that iso site for a pack 26 of tickets for nus grabber.
 

balteck

Well-Known Member
Newcomer
Joined
Mar 6, 2015
Messages
92
Trophies
0
Age
52
XP
842
Country
Italy
So it is impossible to install an own disc game not present on NUS?

Inviato dal mio HTC One M9 utilizzando Tapatalk
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,645
Country
France
So it is impossible to install an own disc game not present on NUS?
you need the encrypted files to install with WUP installer.
so, either you get them from NUS, or from a WUD dump release.
if none are available, you currently can't install to sysNAND. You can dump your disc in file format (like loadiine) and repack it, but the signature will be wrong so you can install the repacked game only on redNAND.

Don't use only ddd to dump your game disc, or you'll have incomplete dump (mainly the cos.xml and app.xml, all the code/ folder). you can browse your disc structure with WUPServer and extract folders to get a good set to repack.
 

balteck

Well-Known Member
Newcomer
Joined
Mar 6, 2015
Messages
92
Trophies
0
Age
52
XP
842
Country
Italy
you need the encrypted files to install with WUP installer.
so, either you get them from NUS, or from a WUD dump release.
if none are available, you currently can't install to sysNAND. You can dump your disc in file format (like loadiine) and repack it, but the signature will be wrong so you can install the repacked game only on redNAND.

Don't use only ddd to dump your game disc, or you'll have incomplete dump (mainly the cos.xml and app.xml, all the code/ folder). you can browse your disc structure with WUPServer and extract folders to get a good set to repack.
I discovered it by myself. In fact I've opened a ticket many months ago on DDD github, because it cannot dump rpl files on COD bo2 italian, and it is still unresolved. May you give me the command list of wupclient.py for copying code, content and meta folder on SD or to dump the code folder via network. I think that content and meta folders were dumped right with DDD. The game is more than 20 GB.
I need to build a rednand for this operations?

Inviato dal mio HTC One M9 utilizzando Tapatalk
 
Last edited by balteck,

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,645
Country
France
it can dump the rpl, you just have to get that file in memory (so you need to play the game up to where that file is needed and loaded for ddd to see it in memory and dump it). ddd doesn't access disc files, it access what the console's see.
Using WUPServer you can access the disc, so you can dump the files directly from it.

you need to build a fw.img (not necessarily a redNAND one).

cfw are official WiiU firmware with some patched and new functions.
There is a cfw with only the wupserver added. It loads your real NAND, nothing is different than your real NAND except it can connect to WUP server client.
There is a cfw with NAND dumping and redirection (redNAND), and wup server, and signature check patched.

just use the one you want, but I'd recommend the "fix94 branch" of IOSUHax if you don't need redNAND.

BUT, if you extract a game in hope to re-construct the extracted files into an installable encrypted format, then you will need redNAND because it had signature check patched. when repacking a game with WUPpacker it generates a fake signature. so choose "Dimok's branch" of IOSUHax.



I don't know the command to read the disc.
All I found was the ticket access.
mount_odd_tickets()
w.dldir("/vol/storage_odd_tickets")
unmount_odd_tickets()

maybe mount "/vol/" and look at the available folders.
you can browse the folders with w.ls() to list content of current path, w.cd(/path/to/dir) change path.
Or maybe use the Wup server GUI, it might list all existing folders.

/vol/storage_odd_tickets
/vol/storage_mlc01
/vol/storage_usb01
/vol/system_slc
etc.
there's maybe a disc access here.
 

TheCyberQuake

Certified Geek
Member
Joined
Dec 2, 2014
Messages
5,012
Trophies
1
Age
28
Location
Las Vegas, Nevada
XP
4,407
Country
United States
it can dump the rpl, you just have to get that file in memory (so you need to play the game up to where that file is needed and loaded for ddd to see it in memory and dump it). ddd doesn't access disc files, it access what the console's see.
Using WUPServer you can access the disc, so you can dump the files directly from it.

you need to build a fw.img (not necessarily a redNAND one).

cfw are official WiiU firmware with some patched and new functions.
There is a cfw with only the wupserver added. It loads your real NAND, nothing is different than your real NAND except it can connect to WUP server client.
There is a cfw with NAND dumping and redirection (redNAND), and wup server, and signature check patched.

just use the one you want, but I'd recommend the "fix94 branch" of IOSUHax if you don't need redNAND.

BUT, if you extract a game in hope to re-construct the extracted files into an installable encrypted format, then you will need redNAND because it had signature check patched. when repacking a game with WUPpacker it generates a fake signature. so choose "Dimok's branch" of IOSUHax.



I don't know the command to read the disc.
All I found was the ticket access.
mount_odd_tickets()
w.dldir("/vol/storage_odd_tickets")
unmount_odd_tickets()

maybe mount "/vol/" and look at the available folders.
you can browse the folders with w.ls() to list content of current path, w.cd(/path/to/dir) change path.
Or maybe use the Wup server GUI, it might list all existing folders.

/vol/storage_odd_tickets
/vol/storage_mlc01
/vol/storage_usb01
/vol/system_slc
etc.
there's maybe a disc access here.
For disk dumping I would get a large sd card, l then mount the disc contents using mount_odd_content() and mount the sd using mount_sd() then using the command w.cpdir("/vol/storage_odd_content", "/vol/storage_sdcard") to dump disc contents directly to sd. Dumping over the network takes way too long, but dumping to sd is only limited by the hardware read/write speeds.

Sent from my SM-G386T using Tapatalk
 
  • Like
Reactions: Cyan

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,645
Country
France
mount_odd_content will dump only the content folder?
there's also mount_odd_code and meta?

I might look at WUP server's sources to see all the existing commands.
Is there already a thread or a place with all available commands, and common path (ticket, games, saves, system.txt, etc.)? someone could document it, it will help lot of users.

But thanks for the idea to "FXP" to SD.
 

TheCyberQuake

Certified Geek
Member
Joined
Dec 2, 2014
Messages
5,012
Trophies
1
Age
28
Location
Las Vegas, Nevada
XP
4,407
Country
United States
mount_odd_content will dump only the content folder?
there's also mount_odd_code and meta?

I might look at WUP server's sources to see all the existing commands.
Is there already a thread or a place with all available commands, and common path (ticket, games, saves, system.txt, etc.)? someone could document it, it will help lot of users.

But thanks for the idea to "FXP" to SD.
Mount_odd_content mounts the entire disc, including code, content, and meta

Sent from my SM-G386T using Tapatalk
 
  • Like
Reactions: Cyan

roots

Well-Known Member
Newcomer
Joined
Nov 9, 2015
Messages
79
Trophies
0
Age
38
XP
117
Country
France
mount_odd_content will dump only the content folder?
there's also mount_odd_code and meta?

I might look at WUP server's sources to see all the existing commands.
Is there already a thread or a place with all available commands, and common path (ticket, games, saves, system.txt, etc.)? someone could document it, it will help lot of users.

But thanks for the idea to "FXP" to SD.


i have made some help with a gui for wupserver and add some commands(iosu syscall for mosts)
also have a browser for pc files on the gui

not the full version(i m not at home) but something like that will be cool?

##########################Wupclient Help Command#############################

send(self,command,data)
send a command to server and return response

read(self,addr,len)
read at adress for len size
return data if any,else print "read error..." and return none

write(self,addr,data)
write data at adress
return 0 if good else print "write error..." and return none

kill(self)
kill the active wupclient instance

memcpy(self,dst,src,len)
copy source to target for len bytes
return 0 if good else print "write error..." and return none

alloc(self,size,align = None)
allocate space through svc for size and align

free(self,adress)
free memory at adress

def open(self, device, mode)
open device with the specified mode(read only,read write...)

def close(self, handle):
close a previous opened fd

def ioctl(self, handle, cmd, inbuf, outbuf_size)
create a bsd socket

def ioctlv(self, handle, cmd, inbufs, outbuf_sizes, inbufs_ptr = [], outbufs_ptr = [])
bsd socket to communicate with server

def FSA_Mount(self, handle, device_path, volume_path, flags):
mount device on a path with flags

def FSA_RawOpen(self, handle, device)
raw open device

def FSA_OpenDir(self, handle, path):
open directory at path

def FSA_ReadDir(self, handle, dir_handle):
read a directory

def FSA_CloseDir(self, handle, dir_handle)
close a directory

def FSA_OpenFile(self, handle, path, mode)
open a file with selected mode on selected path

def FSA_MakeDir(self, handle, path, flags)
make a directory at path with selected flags

def FSA_ReadFile(self, handle, file_handle, size, cnt)
read a file through a buffer size*cnt

def FSA_WriteFile(self, handle, file_handle, data)
write data into file

def FSA_ReadFilePtr(self, handle, file_handle, size, cnt, ptr)
get a file descriptor?

def FSA_WriteFilePtr(self, handle, file_handle, size, cnt, ptr)
same as previous but write

def FSA_CloseFile(self, handle, file_handle)
close a file

def MCP_InstallGetInfo(self, handle, path)
get mcp install cpabilities

def MCP_Install(self, handle, path)
async install to path

def MCP_CopyTitle(self, handle, path, dst_device_id, flush)
copy title to path

def MCP_InstallGetProgress(self, handle)
get progress on an mcp install process

def dump_syslog(self)
dump syslog
 
Last edited by roots,
  • Like
Reactions: Conn0r

roots

Well-Known Member
Newcomer
Joined
Nov 9, 2015
Messages
79
Trophies
0
Age
38
XP
117
Country
France
yes, something like that would be nice.
and all the w.command too (w.dl, w.up, w.dldir, etc.)

what is self? sort of loopback or pointer to current connection?

nop in pyhon "self" is like "this" in c++ but when you send command it's optional
 

roots

Well-Known Member
Newcomer
Joined
Nov 9, 2015
Messages
79
Trophies
0
Age
38
XP
117
Country
France
##########################Wupclient Help Command#############################

send(self,command,data)
send a command to server and return response

read(self,addr,len)
read at adress for len size
return data if any,else print "read error..." and return none

write(self,addr,data)
write data at adress
return 0 if good else print "write error..." and return none

kill(self)
kill the active wupclient instance

memcpy(self,dst,src,len)
copy source to target for len bytes
return 0 if good else print "write error..." and return none

alloc(self,size,align = None)
allocate space through svc for size and align

free(self,adress)
free memory at adress

def open(self, device, mode)
open device with the specified mode(read only,read write...)

def close(self, handle):
close a previous opened fd

def ioctl(self, handle, cmd, inbuf, outbuf_size)
create a bsd socket

def ioctlv(self, handle, cmd, inbufs, outbuf_sizes, inbufs_ptr = [], outbufs_ptr = [])
bsd socket to communicate with server

def FSA_Mount(self, handle, device_path, volume_path, flags):
mount device on a path with flags

def FSA_RawOpen(self, handle, device)
raw open device

def FSA_OpenDir(self, handle, path):
open directory at path

def FSA_ReadDir(self, handle, dir_handle):
read a directory

def FSA_CloseDir(self, handle, dir_handle)
close a directory

def FSA_OpenFile(self, handle, path, mode)
open a file with selected mode on selected path

def FSA_MakeDir(self, handle, path, flags)
make a directory at path with selected flags

def FSA_ReadFile(self, handle, file_handle, size, cnt)
read a file through a buffer size*cnt

def FSA_WriteFile(self, handle, file_handle, data)
write data into file

def FSA_ReadFilePtr(self, handle, file_handle, size, cnt, ptr)
get a file descriptor?

def FSA_WriteFilePtr(self, handle, file_handle, size, cnt, ptr)
same as previous but write

def FSA_CloseFile(self, handle, file_handle)
close a file

def MCP_InstallGetInfo(self, handle, path)
get mcp install cpabilities

def MCP_Install(self, handle, path)
async install to path

def MCP_CopyTitle(self, handle, path, dst_device_id, flush)
copy title to path

def MCP_InstallGetProgress(self, handle)
get progress on an mcp install process

def dump_syslog(self)
dump syslog

def get_fsa_handle(self)
get an handle to use with fsa functions

def mkdir(self, path, flags)
make a directory on selected path with flags

def cd(self, path)
change directory to path

def ls(self, path = None, return_data = False)
list files and folders on path
if return_dat = True , buffer will send hex results

def dldir(self, path)
download path to the current working directoy of wupclient

def cpdir(self, srcpath, dstpath)
copy folder in srcpath to dstpath

def pwd(self)
print work directory of wupserver

def cp(self, filename_in, filename_out)
copie filename_in to filename_out

def df(self, filename_out, src, size)
not sure about this one maybe delete?

def dl(self, filename, directorypath, local_filename = None)
download filename in directorypath

def fr(self, filename, offset, size)
not sure too maybe file read...

def fw(self, filename, offset, buffer)
file write?

def up(self, local_filename, filename = None)
upload file on pc to wiiu

def mount_sd()
mount sd card

def mount_odd_content()
mount odd content

def mount_odd_update()
mount odd update

def mount_odd_tickets()
mmount odd tickets

def install_title(path)
install title to path via MCP_install

def get_nim_status()
get nim status(to be filled)

def read_and_print(adr, size)
read at adr for size and print results
 
  • Like
Reactions: Cyan and Conn0r

pietempgba

Well-Known Member
Member
Joined
Jun 9, 2016
Messages
1,049
Trophies
0
XP
1,515
Country
United States
so i have pycrypto and python27 but now it wont compile it cant find the libs folder with libgcc.a and libc.a
Capture6.PNG
 

Giodude

GBAtemp's official rock
Member
Joined
May 17, 2015
Messages
5,094
Trophies
1
Age
23
Location
New York
XP
2,761
Country
United States
So when i boot the fw.img loader homebrew app, the gamepad goes red, displays some text along the lines of 0000xxxx a few times, and then boots back to what i assume is sysnand. I'm assuming this is sysnand because when i make a folder called rednand, and then reboot my console, it's still there. Would anybody know what's wrong?
 

TheCyberQuake

Certified Geek
Member
Joined
Dec 2, 2014
Messages
5,012
Trophies
1
Age
28
Location
Las Vegas, Nevada
XP
4,407
Country
United States
So when i boot the fw.img loader homebrew app, the gamepad goes red, displays some text along the lines of 0000xxxx a few times, and then boots back to what i assume is sysnand. I'm assuming this is sysnand because when i make a folder called rednand, and then reboot my console, it's still there. Would anybody know what's wrong?
You are using the old redNAND fw.img that doesn't make the nand dump for you. You need to download the latest version from dimok's github and compile or find the correct precompiled (the rednand guide on that iso site is horribly outdated already)

Sent from my SM-G386T using Tapatalk
 

Irastris

Well-Known Member
Member
Joined
May 3, 2015
Messages
1,116
Trophies
0
XP
880
Country
United States
A smidge off-topic, but does anyone have an HD screenshot of the Wii U Menu loading screen? I'm referring to the image below. Trying to make a splash screen for dimok's iosuhax, and I'd like to incorporate that into my design.
yapypc.PNG
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over