Welcome! Log In Create A New Profile

Advanced

Modding Wii Saves & Segher's twintig

Posted by LowLines 
Modding Wii Saves & Segher's twintig
October 27, 2009 07:19PM
Several months back I made a post hoping to get some help with resigning save files for the Wii. Either because I wasn't clear or there just wasn't anyone with enough knowledge about it to help me, it didn't get me anywhere.

Anyways over the last couple of days I've been slowly porting Segher's code to Java, which is a bit of a pain because I'm not too familiar with indirect referencing and I don't believe Java uses it.

I've gotten to a point where I can spit out the Wii certificate (certificate 1) of a save file.
I've compared several saves from my Wii, and the certificates are the same.

The certificate my code spits out though has a different hash after the NG-key-id (refer to FE100), but it looks valid (in that it the first byte is 0).

My question is, when Segher's code (specifically twintig), resigns a save file, does this hash (@ 0x108 into the certificate) differ from the one your Wii generates?

I've tried using FE100 but it refuses to run on my laptop, so I can't check this out myself. So if anyone either can answer my question or resign a save file through FE100 so I see what's going on, it would be really appreciated!!

Low Lines
Re: Modding Wii Saves & Segher's twintig
October 31, 2009 01:28PM
by "indirect referencing" do you mean pointers?

Actually my way of porting the application to the wii was direct, only tweaked the headers since vc++ lacks some posix functionality. Also turned both standalone programs into library functions... Tested it through functionality too, I was injecting giana sisters into the international karate savegame...

Because of the limited time I had, still as I said, it was just a port to gain the functionality, only studied the keys/values needed by the program... That was the toughest part because info on them was pretty narrow at the time I did the port...

So if you have time I suggest you first to understand which cyrpto/hashing functions both programs (tachtig & twintig) use and reimplement them directly in java code... I'm sure most of the crypto functions used in the program are already available in java either as part of the system library or easily accessible third party libraries.

The topics you should be reading about is mainly around assymetric cyrpto like elliptical curve cyrptography and rsa...

The gain in porting them this way is resulting library could easily extendible and reused and would be easy to follow...


For the problem with FE100, you need vc++2008 runtime redistributables and libeay32.dll for windows...

Also you can compile segher's original code under Msys and use that I guess.



Edited 1 time(s). Last edit at 10/31/2009 01:29PM by I.R.on.
Sorry, only registered users may post in this forum.

Click here to login