Difference between revisions of "Wiifuse"

From WiiBrew
Jump to: navigation, search
(+os notes, changelog)
(boredom won, more wikitext, more info, less crap)
Line 1: Line 1:
wiifuse v0.1.1 - coded by dhewg, #wiidev efnet
+
wiifuse v0.1.1 - coded by dhewg, [irc://irc.efnet.org/wiidev #wiidev efnet]
  
:based on gcfuse (http://multimedia.cx/gcfuse/) code by:
+
:based on [http://multimedia.cx/gcfuse/ gcfuse] code by:
 
:Copyright (C) 2006 Mike Melanson (mike at multimedia.cx)
 
:Copyright (C) 2006 Mike Melanson (mike at multimedia.cx)
:Copyright (C) 2005 Janusz Dziemidowicz (rraptorr@nails.eu.org)
+
:Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org)
  
  
== readme ==
+
==readme==
 
 
=== about ===
 
  
 +
===about===
 
:wiifuse is a program that allows you to mount a gamecube or wii dvd disc image as a read-only part of the filesystem. this allows users to browse the directory structure and read the files within.
 
:wiifuse is a program that allows you to mount a gamecube or wii dvd disc image as a read-only part of the filesystem. this allows users to browse the directory structure and read the files within.
  
:further, wiifuse provides access to special data found on these disc's. this includes informational things like the game name, the main executable and raw access to the decrypted data among others.
+
:further, wiifuse provides access to special data found on these disc's. among others,  this includes informational things like the game name, the main executable and raw access to the decrypted data.
  
 
:in contrast to the gamecube, wii images are encrypted. wiifuse supports on-the-fly decryption if you have the required 128bit AES key.
 
:in contrast to the gamecube, wii images are encrypted. wiifuse supports on-the-fly decryption if you have the required 128bit AES key.
  
=== requirements ===
+
===requirements===
:* an operating system supported by FUSE, see http://fuse.sourceforge.net/
+
:*an operating system which
:* FUSE 2.6.x or higher
+
:**is supported by [http://fuse.sourceforge.net/ FUSE]
 +
:**supports POSIX compatible threads
 +
:*FUSE 2.6.x or higher
 +
:*[http://openssl.org/ openssl]
  
=== build ===
+
===build===
 +
:to build wiifuse, you will need a working compiler and the development packages for the required libraries, have a look at the [[#os specific notes|os specific notes]].
 +
:the archive includes a <tt>Makefile</tt>, so just run
 
:<code>make</code>
 
:<code>make</code>
  
=== usage ===
+
===usage===
 
:<code>./wiifuse <image_file> <mount_point> [<FUSE library options>]</code>
 
:<code>./wiifuse <image_file> <mount_point> [<FUSE library options>]</code>
  
:use <code>-h</code> for common FUSE library options.
+
:hints:
:use <code>-o allow_other</code> to let other users access the mount point.
+
:*append <code>-d</code> for debug messages (process won't deamonize).
:use <code>fusermount -u <mount_point></code> to unmount a previously mounted image.
+
:*append <code>-o allow_other</code> to let other users access the mount point.
 +
:*append <code>-h</code> for common FUSE library options.
 +
:*use <code>fusermount -u <mount_point></code> to unmount a previously mounted image.
  
=== example ===
+
===example===
 
<code>
 
<code>
 
:$ ./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other
 
:$ ./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other
Line 54: Line 60:
 
</code>
 
</code>
  
== os specific notes ==
+
===troubleshooting===
 +
:*verify your key file, the '''md5sum''' of the 16 byte file (without line feed) currently is <tt>8d1a2ebcd82a3469b77facf15d9c8e50</tt>.
 +
:*append <code>-d 2>&1 | tee ~/wiifuse.log</code> to the wiifuse cmdline. this will create a logfile called <tt>wiifuse.log</tt> in your home directory, open it in your favorit text editor to get an idea of whats going wrong.
 +
:if you still can't get it working, copy and paste the content of that logfile to something like [http://rafb.net/paste/ rafb] and /msg me the resulting link.
 +
 
 +
==os specific notes==
  
=== debian / ubuntu ===
+
===debian / ubuntu===
  
:packages required
+
:to install the required packages:
:<code>apt-get install build-essential fuse-utils libfuse-dev</code>
+
:<code>apt-get install build-essential fuse-utils libfuse-dev libssl-dev</code>
  
 
:to mount an image without root privileges, add the user to the <code>fuse</code> group
 
:to mount an image without root privileges, add the user to the <code>fuse</code> group
  
:'''TODO''' guessed, please verify
+
===freebsd===
 +
:install the required ports:
 +
:*sysutils/fusefs-kmod
 +
:*sysutils/fusefs-libs
  
=== freebsd ===
+
: [http://fuse4bsd.creo.hu/ further doc's]
: instructions: http://fuse4bsd.creo.hu/
 
  
=== os x ===
+
===os x===
  
:'''TODO'''
+
:required software:
 +
:*[http://code.google.com/p/macfuse/ macfuse]
 +
:*[http://developer.apple.com/tools/xcode/ Xcode]
  
== download ==
+
==download==
  
=== version 0.1.1 ===
+
===v0.1.1===
 
:[[media:Wiifuse-0.1.1.tgz|wiifuse-0.1.1.tgz]]
 
:[[media:Wiifuse-0.1.1.tgz|wiifuse-0.1.1.tgz]]
  
== changelog ==
+
==changelog==
  
=== v0.1.1 ===
+
===v0.1.1===
  
:* fixed some serious u64 offset bugs
+
:*fixed some serious u64 offset bugs
:* corrected the main.dol size calculation
+
:*corrected the main.dol size calculation
:* some easy partition validation
+
:*some easy partition validation
:* support for symlinks
+
:*support for symlinks
:* cleaned up and extended the available metadata
+
:*cleaned up and extended the available metadata

Revision as of 19:18, 26 January 2008

wiifuse v0.1.1 - coded by dhewg, #wiidev efnet

based on gcfuse code by:
Copyright (C) 2006 Mike Melanson (mike at multimedia.cx)
Copyright (C) 2005 Janusz Dziemidowicz (rraptorr at nails.eu.org)


readme

about

wiifuse is a program that allows you to mount a gamecube or wii dvd disc image as a read-only part of the filesystem. this allows users to browse the directory structure and read the files within.
further, wiifuse provides access to special data found on these disc's. among others, this includes informational things like the game name, the main executable and raw access to the decrypted data.
in contrast to the gamecube, wii images are encrypted. wiifuse supports on-the-fly decryption if you have the required 128bit AES key.

requirements

  • an operating system which
    • is supported by FUSE
    • supports POSIX compatible threads
  • FUSE 2.6.x or higher
  • openssl

build

to build wiifuse, you will need a working compiler and the development packages for the required libraries, have a look at the os specific notes.
the archive includes a Makefile, so just run
make

usage

./wiifuse <image_file> <mount_point> [<FUSE library options>]
hints:
  • append -d for debug messages (process won't deamonize).
  • append -o allow_other to let other users access the mount point.
  • append -h for common FUSE library options.
  • use fusermount -u <mount_point> to unmount a previously mounted image.

example

$ ./wiifuse ~/zelda_tp.iso ~/wii_image -o allow_other
$ ls -l ~/wii_image

total 0
lrwxrwxrwx 1 dhewg 1 Mar 15 2007 data -> partition2
dr-xr-xr-x 4 dhewg 0 Mar 15 2007 partition0
dr-xr-xr-x 6 dhewg 0 Mar 15 2007 partition1
dr-xr-xr-x 6 dhewg 0 Mar 15 2007 partition2
lrwxrwxrwx 1 dhewg 1 Mar 15 2007 update -> partition1

$ cat ~/wii_image/data/header/name

The Legend of Zelda Twilight Princess

$ mplayer ~/wii_image/data/fs/Movie/demo_movie98_00.thp
$ fusermount -u ~/wii_image

troubleshooting

  • verify your key file, the md5sum of the 16 byte file (without line feed) currently is 8d1a2ebcd82a3469b77facf15d9c8e50.
  • append -d 2>&1 | tee ~/wiifuse.log to the wiifuse cmdline. this will create a logfile called wiifuse.log in your home directory, open it in your favorit text editor to get an idea of whats going wrong.
if you still can't get it working, copy and paste the content of that logfile to something like rafb and /msg me the resulting link.

os specific notes

debian / ubuntu

to install the required packages:
apt-get install build-essential fuse-utils libfuse-dev libssl-dev
to mount an image without root privileges, add the user to the fuse group

freebsd

install the required ports:
  • sysutils/fusefs-kmod
  • sysutils/fusefs-libs
further doc's

os x

required software:

download

v0.1.1

wiifuse-0.1.1.tgz

changelog

v0.1.1

  • fixed some serious u64 offset bugs
  • corrected the main.dol size calculation
  • some easy partition validation
  • support for symlinks
  • cleaned up and extended the available metadata