Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the support for unencrypted Wii disc images less broken #6947

Merged
merged 1 commit into from May 26, 2018

Conversation

@JosJuice
Copy link
Contributor

JosJuice commented May 23, 2018

These disc images are only used on dev units and not retail units. There are two important differences compared to normal Wii disc images:

  • The data starts 0x8000 bytes into each partition instead of 0x20000
  • The data of a partition is stored unencrypted and contains no hashes

Our old implementation was just guesswork and doesn't work at all. According to testing by @GerbilSoft, this PR's implementation is able to read and extract files in the filesystem correctly, but the tested game still isn't able to boot. (It's thanks to their info about unencrypted disc images that I was able to make this PR.)

These disc images are only used on dev units and not retail units.
There are two important differences compared to normal Wii disc images:

- The data starts 0x8000 bytes into each partition instead of 0x20000
- The data of a partition is stored unencrypted and contains no hashes

Our old implementation was just guesswork and doesn't work at all.
According to testing by GerbilSoft, this commit's implementation
is able to read and extract files in the filesystem correctly,
but the tested game still isn't able to boot. (It's thanks to their
info about unencrypted disc images that I was able to make this commit.)
@JosJuice JosJuice force-pushed the JosJuice:unencrypted-wii-disc branch from 0a6d1b5 to 5874341 May 23, 2018
@leoetlino

This comment has been minimized.

Copy link
Member

leoetlino commented May 23, 2018

Not that I don't trust their research, but is there any reference (documentation, disassembly, test image, ...) so someone could independently verify this?

@JosJuice

This comment has been minimized.

Copy link
Contributor Author

JosJuice commented May 23, 2018

Other than GerbilSoft having some code for managing such disc images in one of their GitHub repos, there isn't anything like that available publicly as far as I know, unfortunately.

@GerbilSoft

This comment has been minimized.

Copy link
Contributor

GerbilSoft commented May 23, 2018

I haven't published any documentation on the unencrypted images yet. I'll look into doing that sometime either today or this weekend. It'll be published in my rvthtool repository.

@Jarvik7

This comment has been minimized.

Copy link

Jarvik7 commented May 24, 2018

Are these images a different thing than the .iso.dec created by nasos etc.?

@JosJuice

This comment has been minimized.

Copy link
Contributor Author

JosJuice commented May 24, 2018

Yes, they're completely different.

@GerbilSoft

This comment has been minimized.

Copy link
Contributor

GerbilSoft commented May 25, 2018

Here's my initial notes, which includes hexdumps of relevant sections:
https://github.com/GerbilSoft/rvthtool/blob/master/doc/disc_image.md

Copy link
Member

leoetlino left a comment

LGTM

@leoetlino leoetlino merged commit 92ec97f into dolphin-emu:master May 26, 2018
8 checks passed
8 checks passed
default Very basic checks passed, handed off to Buildbot.
Details
lint Build succeeded on builder lint
Details
pr-android Build succeeded on builder pr-android
Details
pr-freebsd-x64 Build succeeded on builder pr-freebsd-x64
Details
pr-osx-x64 Build succeeded on builder pr-osx-x64
Details
pr-ubu-x64 Build succeeded on builder pr-ubu-x64
Details
pr-win-dbg-x64 Build succeeded on builder pr-win-dbg-x64
Details
pr-win-x64 Build succeeded on builder pr-win-x64
Details
@JosJuice JosJuice deleted the JosJuice:unencrypted-wii-disc branch May 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.