Homebrew Official [Download] Decrypt9 - Open Source Decryption Tools (WIP)

  • Thread starter d0k3
  • Start date
  • Views 756,183
  • Replies 4,476
  • Likes 69

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
Yes, I said I won't do updates here, but things have changed. I am now participating in coding of official Decrypt9 (instead of just doing some visual mods) and I am actively adding new features.

This is a work in progress. For you that means that everything you download from here is pretty much bleeding edge, and that means that bugs may be possible. Everything that is released as a binary has been tested at least by me, on my N3DS v9.0.0 via Ninjhax. Still, for your own safety, make a NAND backup, use precaution and always keep your backups handy.

An important request to everyone using this: The success of this highly depends on feedback. An unrecognised bug now may severely hinder development later on. If you're using this, be fair, leave some feedback. Let me know what feature(s) you used, on which system (O3DS / N3DS) and if everything worked as intended. Also, don't write PMs about stuff that can also be discussed in the open.

You can run this only via arm9loaderhax and on 3DS consoles on and below v9.2 and you need to run it from SysNAND. Also, there won't be a official CIA of this. The ARM9 entry point required for this does not work well with CIAs. If you absolutely must have a CIA look here, here, here or here. ARM9LoadeHax, Gateway (browser), CakeHax and Ninjhax entry points are available.


My own releases (source code is always up to date):
---------------------------------------------------------------------
Download: https://github.com/d0k3/Decrypt9WIP/releases
Source Code: https://github.com/d0k3/Decrypt9WIP
---------------------------------------------------------------------
snap005-png.30271
snap006-png.30272
snap007-png.30273



Shadowtrances releases (Almost up to date, might miss the newest features):
---------------------------------------------------------------------
Download: https://github.com/Shadowtrance/Decrypt9/releases
Source Code: https://github.com/Shadowtrance/Decrypt9
---------------------------------------------------------------------
DnbyOKc.png
RYoNSQh.png
6bQl1pd.png



Shadowtrances releases contain a pleasant to look at menu and uses a working directory ("/Decrypt9/") instead of the root directory. Note that the Github source link above leads you to my fork of Decrypt9, changes are pulled into Archshifts official one, but that may take some time, so mine is (probably) more recent but also less tested.

A readme file detailing everything that Decrypt9 can do is included in GitHub. Before you ask a question here in thread make sure the answer is not in included in the readme.

Credits by Archshift
  • Roxas75 for the method of ARM9 code injection
  • Cha(N), Kane49, and all other FatFS contributors for FatFS
  • Normmatt for sdmmc.c as well as project infrastructure (Makefile, linker setup, etc)
  • Relys, sbJFn5r for the decryptor
Credits by d0k3
  • Everyone mentioned by Archshift above
  • Archshift for starting this project and being a great project maintainer
  • b1l1s, Normmatt for their 'behind-the-scenes' work and for making arm9loaderhax support possible
  • patois, delebile, SteveIce10 for Brahma and it's updates
  • mid-kid for CakeHax and for hosting freenode #Cakey
  • Shadowtrance, dark_samus3, Syphurith, AuroraWright for being of great help developing this
  • profi200 for helpful hints that first made developing some features possible
  • Datalogger, zoogie, atkfromabove, mixups, key1340, k8099, Al3x_10m, Supster131, stbinan, Wolfvak, Gelex and countless others from freenode #Cakey and the GBAtemp forums for testing, feedback and helpful hints
  • Everyone I forgot about - if you think you deserve to be mentioned, just contact me
 
Last edited by d0k3,

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,777
Country

DJPlayer

Banned!
Banned
Joined
May 21, 2015
Messages
542
Trophies
0
Age
43
XP
426
Country
Netherlands
Is there a way to add a Option to create Xorpads for AGB_FIRM (0x0004013800000202) on a N3DS via Ninjhax?
This would help Riku to add Support for N3DS
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
I noticed that the 3DS Multi Decryptor by @Relys (which was the original version before @Archshift ported it for N3DS as decrypt9 and @Shadowtrance made some changes) actually contains a fifth option: dumping the NAND. Anyone know if there is a reason why that option had to go? I know we can simpy dump the NAND via GW launcher, but having it in decrypt9, or even inside another open source application would still be nice.
 

kactusss

Well-Known Member
Member
Joined
Dec 10, 2012
Messages
225
Trophies
0
XP
183
Country
France
I know we can simpy dump the NAND via GW launcher, but having it in decrypt9, or even inside another open source application would still be nice.

It would be pretty nice indeed. I am looking forward for this.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
No idea,
You've got better coding skills than me. :P Try adding it and see how it goes. :)
Yup, I'll try that. The function seems simple enough and nothing much can go wrong (I hope), so more on that later. The relevant code is found here, btw.

But, while were at it, I'll be honest, but I'm not entirely sure about how to proceed from a NAND dump plus NAND XORpad. Which tool would be needed to decrypt the NAND and what can we do with a decrypted NAND? Maybe there's a way to view the NAND file system?

Basically, the same for the SD XORpads and also what does Titlekey decryption do? I honestly ever only used the NCCH padgen option :D.
 
  • Like
Reactions: kactusss

neobrain

-
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
696
Country
I noticed that the 3DS Multi Decryptor by @Relys (which was the original version before @Archshift ported it for N3DS as decrypt9 and @Shadowtrance made some changes) actually contains a fifth option: dumping the NAND. Anyone know if there is a reason why that option had to go? I know we can simpy dump the NAND via GW launcher, but having it in decrypt9, or even inside another open source application would still be nice.

Decrypt9 is not a port of anything.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
Decrypt9 is not a port of anything.
Yeah, I think I got it now. Relys started the development of decrypt9 and included it in the 3DS Multi Decryptor package, then Archshift continued the developent and added Ninjhax compatibility.

Anyways, about adding that functionality back in, it's not as easy as I thought. The up-to-date version of decrypt9 uses FatFs by ChaN for file system operations, the one inside the 3DS Multi Decryptor package uses some assembler functions (from what I see). Now, the important thing is, FatFs doesn't provide the functionality to access the NAND. Putting that back in (and not doing it in a quick and dirty way that may backfire later) would require rewriting the file system functions, in turn requiring rewriting everything. Not a good idea if you ask me, especially because such large scale changes to the source code tend to introduce bugs.

A standalone NAND dumper may be a better idea, but then it's questionable if that makes sense given that NAND dumping is already available to everyone via the GW launcher.dat.
 

Melon__Bread

~It's A Magik~
Member
Joined
Dec 9, 2013
Messages
831
Trophies
0
Age
29
XP
867
Country
United States
A standalone NAND dumper may be a better idea, but then it's questionable if that makes sense given that NAND dumping is already available to everyone via the GW launcher.dat.
True, but if all you have is 1 copy of CN it is a real pain to switch out the Ninjhax save & GW save every time.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
True, but if all you have is 1 copy of CN it is a real pain to switch out the Ninjhax save & GW save every time.
Yeah, but the point here is... How often will you actually dump your NAND? Even taking away the pain of switching around the installation in CN, dumping ~2GB takes ages with the 3DS' limited SD writing speed. And, having an up to date copy of the NAND is of limited use for people like us who never update anyways. I'll keep considering it, but for now I guess I'll put it to the bottom of the list.
 

neobrain

-
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
696
Country
Yeah, I think I got it now. Relys started the development of decrypt9 and included it in the 3DS Multi Decryptor package, then Archshift continued the developent and added Ninjhax compatibility.
The two projects don't have any relation - there's no "porting" or "continuing" done anywhere. They just happen to share a lot of code, but Decrypt9 was developed from scratch and separately.
 

Melon__Bread

~It's A Magik~
Member
Joined
Dec 9, 2013
Messages
831
Trophies
0
Age
29
XP
867
Country
United States
Yeah, but the point here is... How often will you actually dump your NAND? Even taking away the pain of switching around the installation in CN, dumping ~2GB takes ages with the 3DS' limited SD writing speed. And, having an up to date copy of the NAND is of limited use for people like us who never update anyways. I'll keep considering it, but for now I guess I'll put it to the bottom of the list.
I agree, and even though I have a MSET for GW and CN for ninjhax I was just throwing that out their due to people complaining about switch CN saves.

Also (I may be the exception) I dump my nand for my JPN N3DS to get update for JPN games and some other shop content I do not see posted on the boards. Though like I said I think I am the exception to the normal user, and having a Ninjhax NAND dumper would not make the task any simpler XD
 
  • Like
Reactions: ElyosOfTheAbyss

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,785
Trophies
1
XP
3,843
Country
Germany
On the matter of NAND dumping (and more), I took a look at the rxTools source code. rxTools provides additional features over decrypt9, including...
  • dumping tickets
  • dumping NAND
  • decrypt NAND
  • ...
Also, rxTools shares a lot code with decrypt9, even to the point where it would perhaps be possible to just take over Archshifts steps that initially made decrypt9 Ninjhax compatible. There are some differences, like the ncchinfo.bin using utf-16 filenames (should be easy to adapt). Don't get your hopes too up right now, though, because I'm only speaking about porting rxTools functionality, not rxTools itself, and I most likely cannot port EmuNAND (someone else with better knowledge might be able to). As with stuff like that there alse might be certain roadblocks. Anyways, (especially to the developers), any ideas about that?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KennieDaMeanie @ KennieDaMeanie: Might be the first dlc I actually buy