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

  • Thread starter Thread starter d0k3
  • Start date Start date
  • Views Views 935,310
  • Replies Replies 4,476
  • Likes Likes 71
Yeah, Pokemon games use Flash 1M save type, which is not supported by AGB_FIRM.
That's why those game require special patching before injecting into VC.
Patched Pokemon games will use 64kb save, so trimming may help (at least other people said that it helps, never tested myself).

Super Mario World and Mario & Luigi: Superstar Saga both use EEPROM save type.
AGB_FIRM has only partial support of that save type.
A lot of games can't save at all without patching them to SRAM.
But some games can work as is. For example, your two games will save properly.
Thing is: EEPROM saves from carts or emulators are 64-bit byteswapped, AGB_FIRM doesn't support those.
There's a workaround, you can byteflip them in Hex Workshop:

1. Open your save with Hex Workshop;
2. Then do: "Tools->Operations->Byte Flip"
3. Choose "Treat Data As: 64 Bit Unsigned Quad"
4. Press "OK" and save the file.
5. Rename save file and try to inject, it should work.
It worked, thanks! Now I can try [and fail] to beat
Bowletta + Cackletta's Soul
On my 3DS!
Well, for example, lets take Mario 4 Advance.
1. Start Mario 4
2. Leave it and start D9
3. Dump the Gba save.
4. Look at the size it is, lets call it Needed Size. In this example, it might be 16 kb
5. Compare it with the size of your save. Its 32 kb
6. Use a gba savetrimmer if it is different (https://xerodotc.wordpress.com/2012/06/11/visualboyadvance-sav-file-trimmer/)
7. If asked what size you wish your save to be, use the Needed size (so in this case, put 16 kb into it)
8. rename it and inject it
This didn't work- trimming didn't change anything. [For PMD:RRS] Do I need to start the game and save it once before injecting it, or is there something else I'm missing? Should I bitflip it like I did for the others?
Oh, and also, Mother 3 doesn't save at all when I install it as a CIA. I don't care about injecting the save, I just want to play it. It's probably because I'm sure it's a repro cart [came with the fan translation] and has the save functions patched or something. Any ideas?
 
It worked, thanks! Now I can try [and fail] to beat
Bowletta + Cackletta's Soul
On my 3DS!

This didn't work- trimming didn't change anything. [For PMD:RRS] Do I need to start the game and save it once before injecting it, or is there something else I'm missing? Should I bitflip it like I did for the others?
Oh, and also, Mother 3 doesn't save at all when I install it as a CIA. I don't care about injecting the save, I just want to play it. It's probably because I'm sure it's a repro cart [came with the fan translation] and has the save functions patched or something. Any ideas?
Well, I think I cant help anymore, since trimming is the only real solution for gba save problems i know, haha. For mother 3, you will surly find a cia on that pirat site which has patched saving. FOR PMD I have no clue. You could try the bitflip, put I never needed it, so I dunno if it works. Also, I do not think starting and saving will fix your problem, but you can try.
 
Byteflip won't help with PMD, as it's not EEPROM.
Did you create cia with PMD by yourself, or you got it somewhere else?
Anyway, it's better to check if it can save at all.
 
Byteflip won't help with PMD, as it's not EEPROM.
Did you create cia with PMD by yourself, or you got it somewhere else?
Anyway, it's better to check if it can save at all.
No. I made it myself, out of my own dump.
Anyway, attempting to save with it gives a "save failed" and returns to the main menu. I guess that explains why injecting the save doesn't work. What should I do? I remember there's an SRAM save patch in the CIA maker, but what about my save? Could it be converted to SRAM too?
 
No. I made it myself, out of my own dump.
Anyway, attempting to save with it gives a "save failed" and returns to the main menu. I guess that explains why injecting the save doesn't work. What should I do? I remember there's an SRAM save patch in the CIA maker, but what about my save? Could it be converted to SRAM too?
As I said earlier, Pokemon games require special patches.
Here's a thread about it: https://gbatemp.net/threads/fixes-for-all-gba-pokemons-save-issue-with-agb_firm.390508/
This should fix saving issue.
After you patch your rom and make sure that it saves, try to inject trimmed save again, maybe it'll work.
 
Last edited by Swiftloke,
That hex string isn't in PMD; I looked. [Used the find function] Any other ideas?
Ah, yes, that fix should be used only for main games.
For PMD you just have to use SRAM patch. Sorry. :blush:

Edit: Just made and tested my own cia of Mystery Dungeon.
Yup, I can confirm that it saves just fine with SRAM patch applied.
But it uses 32kb save, not even 64kb.
Well, I tried to trim save to 32kb and inject it. Seems to work.
 
Last edited by redunka,
  • Like
Reactions: noctis90210
We can get a clean .db from any system and inject it? That's safe??

Same region and console type (O3DS / N3DS) (required), same FW (recommended) . And I'd highly recommend to first try on a A9LH'd system. Also, best to compile from source or wait for the next release (tomorrow, I guess). Also take in mind that bit of info about the tickets you actually want to keep.
 
Same region and console type (O3DS / N3DS) (required), same FW (recommended) . And I'd highly recommend to first try on a A9LH'd system. Also, best to compile from source or wait for the next release (tomorrow, I guess). Also take in mind that bit of info about the tickets you actually want to keep.
That's awesome. The above criteria can definitely be arranged.
About the tickets, I assume since they would be no longer associated with the ticket.db, it can be safely removed from FBI right?

Either way, awesome work :)
 
  • Like
Reactions: Rohul1997
Ah, yes, that fix should be used only for main games.
For PMD you just have to use SRAM patch. Sorry. :blush:

Edit: Just made and tested my own cia of Mystery Dungeon.
Yup, I can confirm that it saves just fine with SRAM patch applied.
But it uses 32kb save, not even 64kb.
Well, I tried to trim save to 32kb and inject it. Seems to work.
How do you apply the patch? Using the built in patcher in this app crashes it.
 
Guys, small question- if I make a NAND backup, will it include my tickets to redownload my files, or are the tickets stored in the Nintendo 3DS subfolder?
 
Another quick question ->
*All I will/want do is for personnal use*

It's possible to split D9 in standalone app, like have a Content Decryptor Options in a bin payload, same for Sys/Emu options,etc...
 
It's possible because a user make a save dump app from Decrypt9 app.
Don't ask me how.
 
Another quick question ->
*All I will/want do is for personnal use*

It's possible to split D9 in standalone app, like have a Content Decryptor Options in a bin payload, same for Sys/Emu options,etc...
It's possible if you know how to read the source code, edit it and then compile it

Sent from my SM-G386T using Tapatalk
 
  • Like
Reactions: d0k3
I will see what I can do with the source, then
thanks

I already cut a part for a payload (ARM9 QuickShutDown.bin) so it should not be that hard I hope
 
  • Like
Reactions: d0k3
Another quick question ->
*All I will/want do is for personnal use*

It's possible to split D9 in standalone app, like have a Content Decryptor Options in a bin payload, same for Sys/Emu options,etc...
Ofc it is. Say, isn't Hourglass9 something similar to this?

It should not require too much tinkering with the source.
Sent from my Motorola DynaTAC 8000x using Tapatalk
 
  • Like
Reactions: d0k3
That's awesome. The above criteria can definitely be arranged.
About the tickets, I assume since they would be no longer associated with the ticket.db, it can be safely removed from FBI right?

Either way, awesome work :)
As I said - you'll lhave a clean ticket.db. For the tickets you want to keep, dump them from your old ticket.db and reinstall via FBI. The titles these tickets belong to will start working again, too.
 
As I said - you'll lhave a clean ticket.db. For the tickets you want to keep, dump them from your old ticket.db and reinstall via FBI. The titles these tickets belong to will start working again, too.
That I get. One thing comes to mind though. Tickets in the ticket.db have unique ID attached to them, even though you can't install them as CIA unless that unique IS is changed to zeros.

I think that even clean .db might have some tickets with unique ID attached to it from preloaded stuff (such as that dinosaur 3d video?). I know preloaded games do have zeros as IDs, but I don't think that's the case with everything.

My question is, assume the following case:
2 3ds (same region/type)
First 3DS, unique ID AAAAAA .. Clean otherwise
Second 3DS, unique ID BBBBBB .. Filled with shit we want to get rid off

So assume I dump .db from 1st 3ds and inject it to the second.. Won't the ticket ID from the first 3ds remain in the second? And then, if we download from eshop, we will have entries on our tickets mixed of AAAAAA and BBBBBB?

Not effectively clean I suppose..?
 

Site & Scene News

Popular threads in this forum