Giter Site home page Giter Site logo

friidump's Introduction

FriiDump - A program to dump Nintendo Wii and GameCube disc
===============================================================================

FriiDump is a program that lets you dump Nintendo Wii and GameCube disc from
your computer, without using original Nintendo hardware. It basically performs
the same functions as the famous "RawDump" program, but with a big difference,
which should be clear straight from its name: FriiDump is free software, where
"free" is to be intended both as in "free speech" and in "free beer". As such,
FriiDump is distributed with its sources.

This leads to a number of good consequences:
- Having the sources available, it can be easily ported to different operating
  systems and hardware platforms. At the moment it is developed under a
  GNU/Linux system, but it also runs natively on Windows. A MacOS X version can
  be easily created, although I don't have a Mac, so I can't do it myself.
- Also, having the sources and these being well-organized (I know I'm a modest
  guy) allows support for new DVD-ROM drives to be added relatively easily. At
  the moment the same drives as RawDump are supported, but this might improve
  in the future, if anyone takes the effort... See README.technical for
  details.
- The sources might also be used as a reference for several things regarding
  Nintendo Wii/GameCube discs and the hacks used to read them on an ordinary
  drive.

Furthermore, FriiDump also features some functional improvements over RawDump:
- FriiDump can use 4 different methods to read the disc, with different
  performance.
- FriiDump dumps a lot of useful information about the discs it dumps,
  such as whether the disc contains an update or not, which can help avoid
  bricking your Wii ;).
- FriiDump calculates the CRC32, MD4, MD5, SHA-1 and ED2K hashes of dumped
  discs, so you can immediately know if your dump is good or not, by comparing
  the hashes with the well-known ones available on several Internet sites.
- FriiDump comes in the form of a library and a command-line front-end, which
  allows its functions to be easily reused in other programs.

Unfortunately, there is also a main downfall:
- Even the fastest dump method used by FriiDump is not as fast as RawDump (but
  not that much slower, either, see the table below).

Anyway, I'm sure that people who cannot use RawDump (i.e.: GNU/Linux, *BSD and
MacOS X users) will be happy anyway. Besides, you get the sources, so you can
improve them yourself.

Note that FriiDump is only useful to dump *original* Nintendo discs. To dump
backup copies you can use any DVD-dumping program (i.e.: dd under UNIX ;)).

FriiDump came to existance thanks to the work by a lot of people, most of which
are probably not aware of this fact ;). Please see the AUTHORS file for the
credits.


===============================================================================
Supported drives
===============================================================================
At the moment the same drives as RawDump are supported. This is due to various
reasons, explained in the README.technical file, which also contains
information about what is needed to add support for more drives.

Currently supported drives are:
- LG GDR-8161B (untested, but should work)
- LG GDR-8162B (ditto)
- LG GDR-8163B (HL-DT-ST/DVD-ROM GDR8163B)
- LG GDR-8164B (HL-DT-ST/DVD-ROM GDR8164B)

Other drives might work, most likely those based on the Hitachi MN103
microcontroller. If you find any of them, please report so that they can be
added to the compatibility list.


===============================================================================
Installation
===============================================================================
If you are a Windows user, probably you will have downloaded the binaries,
either zipped or together with an installer, so the installation should be
straightforward.

If you downloaded the sources, you will need to compile them. FriiDump uses
CMake, for easy portability, so you will need to get it from cmake.org. On
Windows you will also need a compiler like Visual Studio (the only tested one,
so far) or CygWin/MinGW. On UNIX just do the following, from the directory
where you unpacked the sources into:

$ mkdir BUILD
$ cd BUILD
$ cmake ..
$ make
$ make install

Linux-specific note: You need root privileges to issue certain commands to the
DVD-ROM drive. Hence you have the following possibilities:
- Run FriiDump as root: discouraged.
- Run it through sudo: better but nevertheless discouraged.
- Set the setuid bit on the executable: this is the recommended way to run
  FriiDump under Linux. This way, the code run with superuser privileges will
  be reduced to a minimum, guaranteeing a certain level of security (note that
  security-related bugs might exist anyway!!!). Also note that, even when the
  setuid bit is set, the attempt to open the drive for reading will be done
  after privileges have been dropped, so you will need explicit read access to
  the DVD-ROM drive. Usually having the system administrator add you to the
  "cdrom" group is enough. To set the setuid bit on the executable, run as
  root:

  $ chown root:root /usr/local/bin/friidump
  $ chmod u+s /usr/local/bin/friidump


===============================================================================
Usage
===============================================================================
FriiDump is a command-line program, so you will need to run it from a terminal
or a command-prompt under Windows. The basic usage is as follows:

friidump -d <drive> -a

where <drive> will usually be something like "/dev/hda" on Unix-like systems,
and something like "e:" for Windows users. With this command, the disc will be
dumped to an ISO image file with an automatically-chosen name. Drop -a and use
the -i option if you prefer to specify the filename yourself. If you want to
resume an existing dump, use -s. If you want to dump the disc to a raw format
image file, use -r. Note that you can create a raw and an ISO image at the same
time.

Other options you might want to use are -1 through -4, to set the dump method,
although the default is method 4, which is the fastest one, so most likely you
will not need them.

Finally, use -h for a listing of all available options.


===============================================================================
Performance
===============================================================================
As stated above, FriiDump is not as fast as RawDump. On my PC (Athlon64 3200+),
performance is as follows:

-------------------------------------------------------------------------------
|  Method  |  Dump speed  |  GameCube disc dump time  |  Wii disc dump time   |
-------------------------------------------------------------------------------
|    1     |  Too slow ;) |          Eternity         |   More than eternity  |
|    2     |   ~570 MB/h  |         2.5 hours         |         8 hours       |
|    3     |   ~740 MB/h  |          2 hours          |         6 hours       |
|    4     |  ~1250 MB/h  |         1.2 hours         |        3.5 hours      |
-------------------------------------------------------------------------------


===============================================================================
Support
===============================================================================
I'm releasing this program under the nickname of "Arep". This is because I am
not sure about the legal status of the program, and I do not want to encounter
any consequences. Actually, I'm pretty sure FriiDump goes against the DMCA,
being a program that circumvents copy-protection, but it might be objected that
the format used by Nintendo discs is not a copy-protection method, but just
their own, undocumented, disc format. Although, I think it can be freely used
in Europe and other coutries without laws similar to the DMCA.

For the same reason, I am not putting an e-mail address here (that @no.net you
find in the program is obviously a pun), but support will be provided through
the forums of the Italian ConsoleTribe forum, at http://wii.console-tribe.com.
If you need help, just open a thread in any section there, even in English: I
will *not* reply, but you might stand assured I will read everything you write.
FriiDump users are encouraged to help each other there ;).

Patches are welcome, too: just attach them to your post, and maybe put
something like "[PATCH]" in the topic subject, so that I can easily spot them.

New releases will be announced on that forum, and also on QJ.net, if I find a
good way to notify them.

If you want to donate to the project, do not do it, and donate to one of the
free Wii modchip projects out there, such as OpenWii, WiiFree or YAOSM.


===============================================================================
Disclaimer
===============================================================================
FriiDump is distributed under the GNU General Public License version 2. See the
COPYING file for details.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Also, please note that this program is not meant to be used to spread game
piracy, but rather to be instrument to make backups of your own precious
legally-bought games.

friidump's People

Contributors

bradenmcd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

friidump's Issues

New supported disk!

hp PLDS/DVDRW DU8AESH/6HS3
the program says to report any new disks, so here!

Keep getting error

I keep getting this error when i run the command to rip the wii game: friidump: error while loading shared libraries: libfriidump.so: cannot open shared object file: No such file or directory

Any idea how to fix?

Drive Compat - GDR8162B

Drive information:

Drive model........: HL-DT-ST/DVD-ROM GDR8162B/0015
Supported..........: Yes
Command............: 2
Method.............: 9

Docs say untested, but I've successfully ripped a couple gamecube and wii discs

Might be worth looking into LibreDrive.

http://libredrive.com/

LibreDrive is a mode of operation of an optical disc drive (DVD, Blu-ray or UHD) when the data on the disc are accessed directly, without any restrictions or transformations enforced by drive firmware.

It basically patches the firmware (temporarily in volatile memory) for certain drives, to allow the data to be accessed directly.
It's main use is for makemkv, but it might be possible to create a new mode for friidump using it.

Does tool support Wii U discs? Can u pls update on this. + Other comments.

Hi,
I am dumping my disc but always getting "not analyzed":

friidump --method9 --type 2 --command 2 -d /dev/sr0 --raw rawFile.raw
FriiDump 0.5.3.1 - Copyright (C) 2007 Arep
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see COPYING for details.

Official support forum: http://wii.console-tribe.com

Forum for this UNOFFICIAL VERSION: http://forum.redump.org

Initializing DVD drive... OK

Drive information:

Drive model........: HL-DT-ST/DVDRAM GT30N/TN08
Supported..........: No
Command............: 2 (forced)
Method.............: 9 (forced)

Press Ctrl+C at any time to terminate

Retrieving disc seeds, this might take a while... OK

Disc information:

Disc type..........: Wii_DL (forced)
Disc size..........: 4155840
Game ID............:
Region.............: Unknown
Maker..............: - Unknown
Version............: 1.00
Game title.........:
Contains update....: Yes

Writing to file "rawFile.raw" in raw format

100% |---------------------------------| 1896.63 MB/h, ETA: 06/06/2021 15:45:49
Dump completed successfully!
Raw image hashes:
CRC32...: 3e450fd3
MD5.....: c19a64bc52a72b09c99284526734da01
SHA-1...: y��R���a013d204619db831452b43791065d3aab
free(): invalid size
Aborted (core dumped)

So, my comments:

  1. DVD cache dump method seems to work for this drive.

  2. SHA-1 is buggy which seems to be corrected here: https://github.com/gertoe/friidump, therefore I forked from there.

  3. Seems like pointer should be checked for .iso on
    void *dumper_destroy (dumper *dmp) {
    my_free (dmp -> outfile_raw);
    my_free (dmp -> outfile_iso);
    my_free (dmp);

    return (NULL);
    }

  4. I will update with changes/bugfixes on my forked repository.

  5. I am not quite clear if this tools supports Wii U discs. Can u update on this with a comment?

Thanks

Unable to Build

When I try to run make I get:

❯ make
[  4%] Building C object libmultihash/CMakeFiles/multihashlib.dir/crc32.c.o
[  8%] Building C object libmultihash/CMakeFiles/multihashlib.dir/edonkey.c.o
[ 12%] Building C object libmultihash/CMakeFiles/multihashlib.dir/md4.c.o
[ 16%] Building C object libmultihash/CMakeFiles/multihashlib.dir/md5.c.o
[ 20%] Building C object libmultihash/CMakeFiles/multihashlib.dir/multihash.c.o
[ 25%] Building C object libmultihash/CMakeFiles/multihashlib.dir/sha1.c.o
[ 29%] Linking C static library libmultihash.a
[ 29%] Built target multihashlib
[ 33%] Building C object libfriidump/CMakeFiles/friidumplib.dir/brickblocker.c.o
[ 37%] Building C object libfriidump/CMakeFiles/friidumplib.dir/disc.c.o
[ 41%] Building C object libfriidump/CMakeFiles/friidumplib.dir/dumper.c.o
[ 45%] Building C object libfriidump/CMakeFiles/friidumplib.dir/dvd_drive.c.o
[ 50%] Building C object libfriidump/CMakeFiles/friidumplib.dir/hitachi.c.o
[ 54%] Building C object libfriidump/CMakeFiles/friidumplib.dir/ecma-267.c.o
[ 58%] Building C object libfriidump/CMakeFiles/friidumplib.dir/lite-on.c.o
[ 62%] Building C object libfriidump/CMakeFiles/friidumplib.dir/misc.c.o
/home/lcoogan/Code/friidump/libfriidump/misc.c: In function ‘_logprintf’:
/home/lcoogan/Code/friidump/libfriidump/misc.c:88:3: warning: implicit declaration of function ‘gettimeofday’ [-Wimplicit-function-declaration]
   88 |   gettimeofday (&now, NULL);
      |   ^~~~~~~~~~~~
[ 66%] Building C object libfriidump/CMakeFiles/friidumplib.dir/renesas.c.o
[ 70%] Building C object libfriidump/CMakeFiles/friidumplib.dir/rs.c.o
/home/lcoogan/Code/friidump/libfriidump/rs.c: In function ‘modnn’:
/home/lcoogan/Code/friidump/libfriidump/rs.c:47:12: warning: right shift count >= width of type [-Wshift-count-overflow]
   47 |     x = (x >> 0xff) + (x & 0xff);
      |            ^~
[ 75%] Building C object libfriidump/CMakeFiles/friidumplib.dir/unscrambler.c.o
[ 79%] Building C object libfriidump/CMakeFiles/friidumplib.dir/vanilla_2064.c.o
[ 83%] Building C object libfriidump/CMakeFiles/friidumplib.dir/vanilla_2384.c.o
[ 87%] Building C object libfriidump/CMakeFiles/friidumplib.dir/win32compat.c.o
[ 91%] Linking C shared library libfriidump.so
/usr/bin/ld: CMakeFiles/friidumplib.dir/unscrambler.c.o:(.bss+0x0): multiple definition of `disctype'; CMakeFiles/friidumplib.dir/disc.c.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [libfriidump/CMakeFiles/friidumplib.dir/build.make:299: libfriidump/libfriidump.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:182: libfriidump/CMakeFiles/friidumplib.dir/all] Error 2
make: *** [Makefile:171: all] Error 2

crashes if i use the -a option

Hello,
friidump crashes when I try to rip a game to iso:

$ ./friidump -d /dev/sr1 -a
FriiDump 0.5.3.1 - Copyright (C) 2007 Arep
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see COPYING for details.

Official support forum: http://wii.console-tribe.com

Forum for this UNOFFICIAL VERSION: http://forum.redump.org

Initializing DVD drive... OK

Drive information:
----------------------------------------------------------------------
Drive model........: HL-DT-ST/DVD-ROM GDR8164B/0L06
Supported..........: Yes
Command............: 2
Method.............: 9

Press Ctrl+C at any time to terminate

Retrieving disc seeds, this might take a while... OK

Disc information:
----------------------------------------------------------------------
Disc type..........: Wii
Disc size..........: 2294912
Game ID............: W5
Region.............: Europe/PAL
Maker..............: 41 - Ubi Soft Entertainment
Version............: 1.00
Game title.........: WWTBAM 2008
Contains update....: Yes

Writing to file "WWTBAM 2008.iso" in ISO format

Erreur de segmentation

but if I ask it to write a raw image:
$ friidump -d /dev/sr1 -r WWTBAM2008.raw

it works!

Download Binaries

Hello,
Maybe I'm just not seeing it, but is there a place where I can download the binaries for Windows? I'd rather not try to compile the source myself.
I posted this in the wrong place.

Issue with -A flag

It appears that the -A flag (try all methods) is not correctly looping through all of the command parameters. Output displays that it uses command 0 every time.

Where are the binaries?

On the "Installation" section of README, it says:

If you are a Windows user, probably you will have downloaded the binaries,
either zipped or together with an installer, so the installation should be
straightforward.

So I want to download FriiDump on my Windows PC, but I can't find any binaries on the Releases page.

@AugustZellmer attempted to asked that on #3, but he closed that immediately because he posted it "in the wrong place". I think it's the right place to ask that.

Fail retrieving seeds

Running Linux Mint 19.2 (based on Ubuntu 18.04 bionic). When I attempt to run friidump process takes a short time at the line "Retrieving disc seeds, this might take a while..." and then exits with the message "Failed".

This may just be that my optical drive is not compatible, but I wanted to check just in case, is there anything I can try besides swapping the disk drive?

matthew@spartacus:~/WiiGames$ uname -a
Linux spartacus 5.3.0-19-generic #20~18.04.2-Ubuntu SMP Tue Oct 22 18:09:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

matthew@spartacus:~/WiiGames$ sudo friidump -d /dev/sr0 -i -A
FriiDump 0.5.3.1 - Copyright (C) 2007 Arep
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; see COPYING for details.

Official support forum: http://wii.console-tribe.com

Forum for this UNOFFICIAL VERSION: http://forum.redump.org

Initializing DVD drive... OK

Drive information:
----------------------------------------------------------------------
Drive model........: HL-DT-ST/BDDVDRW UH12NS29/1.00
Supported..........: No
Command............: 0
Method.............: 0
Requested sectors..: 16
Expected sectors...: 16

Press Ctrl+C at any time to terminate

Retrieving disc seeds, this might take a while... Failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.