Welcome! Log In Create A New Profile

Advanced

Wii Saves (data.bin)

Posted by LowLines 
Wii Saves (data.bin)
July 28, 2009 02:44AM
Making a little Wii Save Editor Tool in Java.

My issue (probably no surprise to some), is modifying the second certificate (since the first certificate is just a copy of your Wii's), to validate changes made to the file. I have researched into it and looked through Segher's source. But obviously I'm doing something wrong since the hashes themselves don't even look right (for starters the first byte is supposed to be 0x00). So if anyone can clear up a few things for me it'd be nice:)

This is the process from what I've gathered in which a Wii signs save files when copying them to your SD. (This is assuming everything up to the point of the last 0x340 bytes is correct aka the certificates/hashes)

Note: Offset wise 0x00 refers to the start of the last 0x340 bytes, unless otherwise stated.
1. Copy Console certificate (0x180 bytes) to 0x40.
2. Write up a blank certificate that is generated by your Console. (0x180 bytes)
3. Generate ECDSA (Elliptic Curve Digital Signature Algorithm).
4. Hash the last 0x100 bytes of this certificate.
5. Hash (from the start of the files) from 0xF0C0 to the "total/file size" value in the Bk Header, and then generate another ECDSA on this.
6. Copy this 0x3C byte hash to 0x00.

My other issue is probably my Elliptic Curve code, since I was basically just copying code (though reworking it to run in Java). Obviously without completely knowing how it functions, there was obviously several things not working properly. But it's up to me to work on that part of my problem. I just want to make sure the signing process is right, so if you know much on this help me out here :p
Sorry, only registered users may post in this forum.

Click here to login