archshift / Decrypt9

Multipurpose content dumper and decrypter for the Nintendo 3DS (SUPERSEDED)
GNU General Public License v2.0
104 stars 84 forks source link

Add ability to dump ticket.db and decrypt titlekeys directly from NAND #45

Closed d0k3 closed 9 years ago

d0k3 commented 9 years ago

As always, if anything should be changed just let me know and I'll make the required changes.

d0k3 commented 9 years ago

Alright, I did all modifications you suggested, compiled and tested it and squashed them into the previous commits..

d0k3 commented 9 years ago

Alright, there are some features currently in my wip version, that I would like to ask you about before doing a pull request for them:

Using a working directory Use a work directory instead of the SD card root for all operations. That means all input (seeddb.bin, ncchinfo.bin, ...) and output (twln.bin, dectitlekeys.bin, ...) go there. In theory that's a good thing, because it prevents cluttering of the SD card. In daily use, however, it leads to tons of noob questions, because basically all tutorials say files have to be put in the SD card root. It is disabled for now in my wip version. Still unsure about that one, though.

(1) NAND restore and (2) NAND partition injection This restores the full NAND from a backup (1) or encrypts and injects certain NAND partitions (2). It has its 'mainstream' uses, like f.e. editing the TWLN partition to run DSIware games. It is also, when used incorrectly, dangerous and can easily lead to a brick. In my wip version this has to be enabled via a compiler switch and is disabled by default. These features have been around for some time in my wip version now and are tested by multiple users. Unsure if you would want something like this in the Decrypt9 main version.

Operations on EmuNAND Pretty easy to implement and also not dangerous. Dumping the ticket.db from EmuNAND is an often requested feature, other candidates would by decrypting titlekeys from EmuNAND, EmuNAND backup and dumping EmuNAND partitions. Everything besides EmuNAND backup works universally and is not limited to specific kinds of EmuNAND (like, f.e. the Gateway EmuNAND).

Let me know what you think about these.

archshift commented 9 years ago

Those last two sound pretty good to me. Like you mentioned, the first one will probably cause lots of confusion so for now I'm a little hesitant on that.