I bought an old second-hand Nintendo DS game from a used game shop and my 3DS wouldn't play it. I exchanged it and the shop said it was probably a forged cartridge.
I did a bit of research and apparently the 3DS has better forgery detection than the older models - so the fake cartridge probably worked in an old DS but not in my newer model.
Here's what I already understand about 3DS copy protection:
- Modern cartridges have a cryptographic signature to prove they're genuine.
- Older cartridges have no signature, but the 3DS has a whitelist of checksums for every legitimate old cartridge.
- Cartridges that don't have a signature OR appear on the whitelist are blocked.
I can see how this would stop me releasing my own unlicensed game. But I don't understand why it blocks a copy of an existing, legitimate game.
My question is: why can't the game pirates make a perfect copy of an existing game, including the signature (or with a matching checksum), so the 3DS can't distinguish it from the real thing?
(Aside - I've got no interest in playing pirated games (I write software for a living myself), I'm just curious about the technology).