meladroit / svdt

tdvs, but backwards (whatever that means)
ISC License
101 stars 15 forks source link

Request: Support modification of secure value in games that use it. #1

Closed YodaDaCoda closed 9 years ago

YodaDaCoda commented 9 years ago

A number of games have a 'secure value' in their save data which is generated each time the game is saved. A copy of this value is stored on the 3DS itself, and if these values don't match when the game is started, then the save is declared corrupt. The offset at which this value is stored changes per game.

More about this can be read here. http://3dbrew.org/wiki/Anti_Savegame_Restore

Here is a GBATemp thread which gives the offsets of a number of games' save files. https://gbatemp.net/threads/antisavegame-restore-secure-value-updater-ps-acnl-prw-ssb-xy-oras.396644/

It'd be handy if svdt were able to handle this so that we don't have to.

meladroit commented 9 years ago

There are a few things that make this tricky:

I'll definitely give this some thought, but it's also definitely a comparative luxury. But at least it looks like the number of games using this (that people care about, anyway) is small?

meladroit commented 9 years ago

Partial resolution: v0.3-alpha implements support for this for games that aren't Rumble World. Getting close even on that, but just not quite there yet.

YodaDaCoda commented 9 years ago

You're a legend. Just wanna express my thanks. The speed of your development astounds me.

(I was working on my own tdvs replacement but hadn't even got as far as something that would compile when you released v0.1)

meladroit commented 9 years ago

Rumble World support seems to work in v0.3, based on personal testing. For all known anti-savegame restore games, svdt is now capable of automatically fetching the secure value in save data and using it to modify files when restored.