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

  • Thread starter Thread starter d0k3
  • Start date Start date
  • Views Views 935,419
  • Replies Replies 4,476
  • Likes Likes 71
Exactly, the offset for Deceypt9 should be 0x0 (I'm not exactly sure what this offset signifies, though I'd guess it means where to load it into RAM and that 0x0 isn't the actual address it's being loaded into, it's probably the offset (0x0) plus something else to tell it where to load, don't quote me on any of that though)
That offset is actually the start of the ARM9 payload inside the file. Decrypt9.bin is the payload only, thus the offset is zero. Decrypt9.dat also contains some CakeHax stuff in the first 0x12000 byte, so the offset is 0x12000. That's that :).

Ok so I decided I want to give making my own theme CIA built (so I can choose my theme from the home menu). But this requires dumping my existing themes first otherwise I'll end up with only my custom theme in there. Not a desirable outcome. :P

So I need to dump my Home Menu theme DLC on SD. But Decrypt9 has limited folder selections when generating xorpads. Perhaps a suggestion for a future update is to add the ability to choose individual titles or perhaps a dedicated menu for decrypting just the home menu theme DLC? Though the ability to choose individual titles will probably be more useful to the majority of users then a dedicated menu for just themes. I have a quite a few large games installed and genning xorpads for all of them will take some time.

It's low priority though so no rush. For now I'll just gen xorpads for the entire titles folder. I happen to know the TID for my Home Menu DLC so finding it won't be difficult. :P
You can already choose individual titles and subfolders of the extdata folder... Try the arrow keys (which includes left/right as well) ;).
 
@piratesephiroth currently thinking about adding CIA and 3DS build goals to the Decrypt9 Makefile (and I can't believe i actually written that out). Unsure if it is more of a bother to tell everyone that the CIA is not possible because of the limitations or if it is more of a bother to explain to provide the CIA and explain the limitations. Anyways, do you have some kind of Makefile to generate the CIA? Or are you using something else?

--------------------- MERGED ---------------------------

... and triple post!

New release available, a maintenance update with a few new features:
  • Experimental CIA Encryptor options included
  • Added ability to dump/inject the NNIDsave.bin (this contains your NNID and can be used to reset it)
  • CakeHax entrypoint fixed (experimental, this may break the GW 4.x Launcher.dat browser entrypoint)
  • Confirmation dialog when overwriting existing files
  • Todo: Update the readme for the new features
Testing the CakeHax entrypoint is highly appreciated. As always, have fun and give me feedback!
 
Added ability to dump/inject the NNIDsave.bin (this contains your NNID and can be used to reset it)
Wait, would this mean that I can use this to copy my NNID to my N3DS have it on both of my OLD3DS and N3DS. Also what do you mean be "reset it"?
 
lol no. It allows deleting/restoring it. For example, you can do a system format after removing NNID first so you can format emunand without breaking NNID (or sysnand if formatting sysnand). Or when creating new emunand and need to copy over NNID. Useful for unlinking emunand from sysnand. You can't have an NNID on two consoles at the same time though. Nintendo's servers validate if the console trying to connect to your NNID is tied to that account or not and it only ever allows one 3DS on it at a time.

Also, ability to copy most system save data would be a nice feature too. "Manual" system transfers can be done now (with the required changes to movable.sed). I usually have to manually extract this stuff from a NAND image via xorpads and stuff. I plan on manually transferring movable.sed from my o3DS sysnand to my n3DS. (to sysnand if using normal CFW. If I get Arm9LoaderHax working instead, it will end up as my emunand instead). Certain save data like config save data isn't transferred during a normal system transfer (and can cause some issues like screen flicker problems if you copy this data to a different 3DS. Especially one that is a different model then the source 3DS)

Perhaps just dumping/injecting the entire data folder would be a easier thing to do. I can remove unnneeded system save data like Config and what not when doing the transfer. :D
 
Wait, would this mean that I can use this to copy my NNID to my N3DS have it on both of my OLD3DS and N3DS. Also what do you mean be "reset it"?
I used it to remove my NNID (forgot the password and email, and the nags were annoying). Don't know if you can really have the same NNID on two console without a regular file transfer.
lol no. It allows deleting/restoring it. For example, you can do a system format after removing NNID first so you can format emunand without breaking NNID (or sysnand if formatting sysnand). Or when creating new emunand and need to copy over NNID. Useful for unlinking emunand from sysnand. You can't have an NNID on two consoles at the same time though. Nintendo's servers validate if the console trying to connect to your NNID is tied to that account or not and it only ever allows one 3DS on it at a time.

Also, ability to copy most system save data would be a nice feature too. "Manual" system transfers can be done now (with the required changes to movable.sed). I usually have to manually extract this stuff from a NAND image via xorpads and stuff. I plan on manually transferring movable.sed from my o3DS sysnand to my n3DS. (to sysnand if using normal CFW. If I get Arm9LoaderHax working instead, it will end up as my emunand instead). Certain save data like config save data isn't transferred during a normal system transfer (and can cause some issues like screen flicker problems if you copy this data to a different 3DS. Especially one that is a different model then the source 3DS)

Perhaps just dumping/injecting the entire data folder would be a easier thing to do. I can remove unnneeded system save data like Config and what not when doing the transfer. :D
Well, exactly for that I have a new project in the works, a file browser with access to everything. It even has a name already, but no functioning code, it's called the GodMode Browser. Will still take some time, though, especially with all that maintenance lately.

@d0k3 Descriptions for the new cia options please. :) (so i can update menu gfx) :)
Alright, descriptions:
  • CIA Encryptor (NCCH) - Encrypt the NCCH layer of all CIA files inside the work / game folder.
  • CIA Encryptor (CXI only) - Encrypt the CXI content of all CIA files inside the work / game folder.
Don't forget about the new dumpable / injectable file, the NNIDsave ;).
 
  • Like
Reactions: klear
I used it to remove my NNID (forgot the password and email, and the nags were annoying). Don't know if you can really have the same NNID on two console without a regular file transfer.

Well, exactly for that I have a new project in the works, a file browser with access to everything. It even has a name already, but no functioning code, it's called the GodMode Browser. Will still take some time, though, especially with all that maintenance lately.

Alright, descriptions:
  • CIA Encryptor (NCCH) - Encrypt the NCCH layer of all CIA files inside the work / game folder.
  • CIA Encryptor (CXI only) - Encrypt the CXI content of all CIA files inside the work / game folder.
Don't forget about the new dumpable / injectable file, the NNIDsave ;).
Bah! Yeah forgot about that one haha hmm

Nah I'm blind...already did it....
 
Last edited by Shadowtrance,
@piratesephiroth currently thinking about adding CIA and 3DS build goals to the Decrypt9 Makefile (and I can't believe i actually written that out). Unsure if it is more of a bother to tell everyone that the CIA is not possible because of the limitations or if it is more of a bother to explain to provide the CIA and explain the limitations. Anyways, do you have some kind of Makefile to generate the CIA? Or are you using something else?

I didn't make a makefile or anything. All I did was extract the code.bin from the 3DSX and use it to build a CXI and packed it into a CIA.

It should then be enough to just build a CIA directly with the same ELF you use to build the 3DSX version.
 
  • Like
Reactions: d0k3
I didn't make a makefile or anything. All I did was extract the code.bin from the 3DSX and use it to build a CXI and packed it into a CIA.

It should then be enough to just build a CIA directly with the same ELF you use to build the 3DSX version.
Okay. Well, I think I know how to add it to the Makefile with an additional build goal, but it will be some work. Plus, the UI version will still need external files, so no one step install. Do you think it would be worth it?
 

Site & Scene News

Popular threads in this forum