Wiiscrubber 1.1 - BETA

Updated release of an application I've been playing with.

Whats new?
1. Allows for creation of DIF files to allow unscrubbing of data
2. Allows for merging of scrubbed and dif files to produce original ISO
3. Also works on gamecube discs but probably still better to use GC Tools
4. Display of region and number of files in disc
5. Key.bin verification - to stop the 150Meg files
6. 4.5 Gig limit removed - now at Dual layer
7. Different scrubbing options available ;) See below
8. registry saves for chosen options
9. If you don't have the key.bin you can still unscrub

Bug fixes:
1. Release version bug now corrected thanks to Juster at GBATemp.net.
   a freed pointer was accessed just after being freed.
2. Several text display bugs cleared.
3. File size now checked during processing so that ALL of the ISO is copied)
4. Gamecube offsets now correctly accessed (they are different as they are not
   encrypted so you have the full 32k in each block)
5. I actually check for file read/write errors

It allows you to:
1. open up the WII iso's and extract individual files from them
2. Change the iso so that unused areas are overwritten with 0xFF/0s. This
   has the effect of then making the ISO compressable :)

You need:
You will need a copy of the ubiquitous "key.bin" in the same directory.
You should not need to install any extra runtime files.
A descrambled wii iso
Plenty of disc space
A fair bit of time.

How to use:
Copy the key.bin file to the same directory as the exe.
Load the software.
Load the ISO file by clicking on the 'load iso' button
What the program is doing appears in the bottom window
Disc filelist appears in the top window as a standard treelist
Name of game and size of the data on the disc appears in top right

How to extract files:
Only one at a time at present
In the treelist click on a file to select
Right click the mouse button
Select 'Save' from the popup menu
The fields on the filename shown are:
name, partition, Offset into decrypted file, Filesize

How to scrub the disc:
Click on the clean and save button
Depending on the option chosen next to the clean button you will then save
either a scrubbed file, a dif file or both files. If the TRUCHA option is chosen then
you will create several new files:
1. a dummy fst.bin
2. a modified fst.bin containing links for the padding files
3. several files full of 0's that can be loaded into the modified image.
4. a modified boot.bin that is needed for the modified fst.bin to be accessed

ISO: This creates a copy of the loaded ISO with the same name but (compress)
appended to the name before the .ISO part  (so SPM.ISO would become
SPM(compress).ISO).
DIFF: This creates a Diff file of the differences between the loaded file and
what a scrubbed one would contain. The filename used is the same as the savename but with
.dif used instead of ISO
BOTH: does both ISO and DIFF - you will need a LOT of storage for this

Compressing the scrubbed image should give you a figure close to the size of data
detailed earlier. The DIFF file will not compress that well (due to it being the
random data contained in the 'empty' disk blocks.


Comments:
I've tried on quite a few files, checking the files that are then extracted and
all seems correct. But no 100% guarantees can be made that the cleaned ISO will
work. What I tend to do is extract all the files from an uncleaned image using wiitools
and then extract all the same files from a cleaned image and do a windiff on them to
check for any irregularities. There is always the potential that Nintendo will start
checking for these sort of changes in a firmware update. Just be aware.

Sources etc.:
The source code is written under Visual C 6 (what I had installed here at the time).
The source will be released when I have a fully stable build.
Some of the source is from the excellent wiifuse
Openssl source is also included for the crypto

Limitations/Errors/Bugs/Features/Improvements:
You may notice the 'load' function on the file popup - that would be a target
Multiple file extraction would be more than useful but I thought it was better to
test the extraction function on single files first
I've got an issue where a release version will not work correctly, thats why this release is
a debug build. (*Love* finding those errors) - FIXED - Thanks to Juster at GBATemp.net
Yes the Icon is rubbish - one of my trademarks - will be fixed soon
File size is limited to 4.5 Gig as if the software is on a DL disc it probably needs to be - Fixed
Some of the extracted Disc titles look odd - not my fault :) - Fixed

Wish list for 1.2:
An option to remove partitions, freeing up more space
Signing of the disc in Trucha mode
command line option


Comments/Suggestions/Errors:
Pop over to GBATEMP.NET and post on the boards there.

Changes from 1.0a:
1. Options of creating and using the dif files
2. MoH2 now really does show correctly ;)
3. Key checking to make sure the correct one is used
4. code tidy up
5. Gamecube images work
6. TRUCHA signer padding option
7. Option of keeping crypto headers or not
8. settings are saved in the registry

Changes from 1.0:
1. Way of scrubbing changed slightly so that the sector crypto header is left
unchanged. This makes it a bit more difficult to detect but lessens the compressability. 
2. Disc Filename display corrected so titles like MoH2 show correctly ;)
 
Changes from beta test version:
1. Key file now only needs to be in the same directory as the program
2. A progress bar with cancel option when you start scrubbing
3. appended file name changed to (compress) to avoid confusion
4. Clickable URL of gbatemp in about box.
 
Dack
April 9th 2008