Changes

Jump to navigation Jump to search
51 bytes added ,  03:26, 12 September 2012
no edit summary
Line 10: Line 10:  
So how do you use this to decrypt a savegame on a 3DS? First off, you chunk up the savegame into 512 byte chunks. Then, you bin these chunks by their contents, discarding any that contain only FF. Now look for the most common chunk. This is your keystream. Now XOR the keystream with your original savegame and you should have a fully decrypted savegame. XOR with the keystream again to produce an encrypted savegame.
 
So how do you use this to decrypt a savegame on a 3DS? First off, you chunk up the savegame into 512 byte chunks. Then, you bin these chunks by their contents, discarding any that contain only FF. Now look for the most common chunk. This is your keystream. Now XOR the keystream with your original savegame and you should have a fully decrypted savegame. XOR with the keystream again to produce an encrypted savegame.
   −
The gamecard savegame [[AES|keyslot]] keyY is unique per gamecard.
+
The gamecard savegame [[AES|keyslot]] keyY is unique per gamecard. This keyY is unique for every region of each game.
    
All savegames, including non-gamecard savegames, are encrypted with AES-CTR. The base CTR for gamecard savegames seems to be all-zero? The CTR used for gamecard savegames eventually repeats, while non-gamecard savegames don't use a repeating CTR. For the old gamecard CTR method, it repeated every 0x200-bytes. With the new method it repeats at least every 0x1000-bytes, but the exact period isn't known for certain. Non-gamecard savegames use a separate CTR method from the gamecard savegames, see the [[extdata]] page regarding extdata encryption.
 
All savegames, including non-gamecard savegames, are encrypted with AES-CTR. The base CTR for gamecard savegames seems to be all-zero? The CTR used for gamecard savegames eventually repeats, while non-gamecard savegames don't use a repeating CTR. For the old gamecard CTR method, it repeated every 0x200-bytes. With the new method it repeats at least every 0x1000-bytes, but the exact period isn't known for certain. Non-gamecard savegames use a separate CTR method from the gamecard savegames, see the [[extdata]] page regarding extdata encryption.

Navigation menu