Help Modifying Gamesaves w/ Installer!

Discussion in 'Wii - Hacking' started by saintly, Dec 1, 2008.

  1. saintly

    saintly Newbie

    Dec 1, 2008
    United States
    Okay, I'm trying to modify the gamesave for a game called "Lost In Blue: Shipwrecked" for the Wii. I have the homebrew channel installed and the Savegame extractor/installer. I even know the file I want to change, the locations and the new values, but I can't seem to figure out the checksum used to validate the save. Here's what I've done so far:
    • I've extracted the savegames from two drastically different games
    • The individual files are:
      • BANNER.BIN - I don't know what this is, but it seems useless to the overall save
      • FILELIST.DAT - The expanded names for the files below. LIB_SYST becomes LIB_System
      • LIB_01MA .. LIB_10MA (in Filelist.dat they are called LIB_01Main .. LIB_10Main)
      • LIB_01SU .. LIB_10SU (LIB_01Sub .. LIB_10Sub)
      • LIB_SYST (LIB_System)
    • The part that I want to change is the game's listing of 'album' pages that you've unlocked. Essentially, these are game endings that can be rewatched. The game has 10 save 'slots', presumably corresponding to LIB_01 .. LIB_10. Additional data is stored outside of these saves in LIB_SYST. That's the file I want to edit. It's a small file of only 256 bytes.
    • Here's a copy of LIB_SYST from the beginning of the game: No endings are unlocked.
    • Here's a copy of LIB_SYST from the after an extended playthrough: 5 endings have been unlocked. Endings# 5, 8, 9, 11, 14 (Ending#s come from inside the game)
    • I've verified that LIB_SYST is the file that allows access to the albums by copying it from a complete set of save files from midway through the game to a nearly-empty set from the beginning. Everything loads fine, and the game thinks I have a nearly empty set of save slots, but 5 endings unlocked. This also proves that there isn't an external checksum in some other file or the wii guts that makes sure the set hasn't been modified.
    • Naively modifying the part of LIB_SYST that seems to control album access results in the game starting fine, but then complaining the save is corrupt and refusing to load it. However, replacing one LIB_SYST with another from a different game save works fine.
    • Since I've unlocked game endings 5,8,9,11 and 14, setting those bits to ON in 16 bits results in 0x2590. There is an 0x2590 stored exactly that way (big-endian) at locations 0x00DC-0x00DD in the 'midway' LIB_SYST. In the beginning LIB_SYST, it's 0x0000 (no album pages unlocked). This leads me to conclude that those two bytes are at least highly probably as being the ones controlling album access.
    • The beginning and ending of the file is mostly the same. I've tried looking to see if a basic checksum / CRC32 / CRC CCITT can be computed from various slices of the file to yield the bytes in another part, but haven't found any yet.
    So what I'm asking is basically if someone has knowledge of the typical formats of savegames, if they can help me modify the file. I'd want to change 0x2590 to 0x3FFF at least, possibly 0x7FFF. I'm not sure whether the checksum will be at the end or beginning, whether it starts counting from a location other than 0 or if there's some other system used. I can't imagine the programmers of Lost In Blue going to extreme effort to protect a file that hardly anyone will find... Even resources on the formats of other savegames would be useful, especially Konami games.