Hacking [Guide] Backup and Restore GBA Virtual Console Savedatas Using Decrypt9

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
I'm trying to inject a save file from ´Zatch Bell Dream Tag Tournament', but I couldn't. I saw that the save file size is 1 kb!!! I followed the guide step by step but it wasn't succesfull.. Any idea how to do it? :( :( (I tried the Agbsave9 tutorial too but didn't result).

With what program did you made the cia file? Because I got a 32kb save backup on my test with the GBC VC port I made with this handy program. Sadly though, I no longer have two hacked 3ds to test a backup injection, but as far as the backup point everything seems alright.
 

zang_282

Member
Newcomer
Joined
Feb 13, 2017
Messages
11
Trophies
0
Age
27
XP
51
Country
Colombia
With what program did you made the cia file? Because I got a 32kb save backup on my test with the GBC VC port I made with this handy program. Sadly though, I no longer have two hacked 3ds to test a backup injection, but as far as the backup point everything seems alright.

Thanks for your answer!!

I used the same program to make the gba to cia. I downloaded a save file (battery) from the internet and I test it out with VBA and it worked. But it still doesn't with GBA VC on my 3ds :(. Btw how do you made a save backup with that program?
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Thanks for your answer!!

I used the same program to make the gba to cia. I downloaded a save file (battery) from the internet and I test it out with VBA and it worked. But it still doesn't with GBA VC on my 3ds :(. Btw how do you made a save backup with that program?

You can't make a save backup with Ultimate GBA VC Injector, what I did was apply the SRAM patch on Step 4. Zatch Bell Dream Tag Tournament has a EEPROM save type by default, and that means you can get a save file between 512b to 8kb, as explained here about how GBA save types work. I did two versions of the game, one with the default EEPROM save and another with the SRAM save patch. From the first one I got a 8kb save backup and from the second one I got a 32kb save, in both cases using Decrypt9 as the guide explains. I don't know why did you got a 1kb backup, it could be because of the save file type or an error. Did you tried my version of the save injection, for games with less than 32kb save backups?
 

zang_282

Member
Newcomer
Joined
Feb 13, 2017
Messages
11
Trophies
0
Age
27
XP
51
Country
Colombia
You can't make a save backup with Ultimate GBA VC Injector, what I did was apply the SRAM patch on Step 4. Zatch Bell Dream Tag Tournament has a EEPROM save type by default, and that means you can get a save file between 512b to 8kb, as explained here about how GBA save types work. I did two versions of the game, one with the default EEPROM save and another with the SRAM save patch. From the first one I got a 8kb save backup and from the second one I got a 32kb save, in both cases using Decrypt9 as the guide explains. I don't know why did you got a 1kb backup, it could be because of the save file type or an error. Did you tried my version of the save injection, for games with less than 32kb save backups?

Hey, thank you for your answer again, here's the thing: I made two cia files of the rom, one with EEPROM and other one with the SRAM patch in step 4. I dumped the save file twice and happened what you just said. The EEPROM = 8kb and SRAM = 32 kb. I found on the internet another save file that I want to inject which is 512b.

So the next step is inject this save file (512b) in the EEPROM game (3ds A), dump it and inject it one more time but in 3ds B?
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Hey, thank you for your answer again, here's the thing: I made two cia files of the rom, one with EEPROM and other one with the SRAM patch in step 4. I dumped the save file twice and happened what you just said. The EEPROM = 8kb and SRAM = 32 kb. I found on the internet another save file that I want to inject which is 512b.

So the next step is inject this save file (512b) in the EEPROM game (3ds A), dump it and inject it one more time but in 3ds B?

Yeah, you could, but why not directly try to inject the save file in 3ds B? It would be faster and easier.

But if you want to do it the way you described, I think that what would work best for you if you manage to inject that 512b file in 3ds A, is to install the SRAM version of the cia in both consoles. Save injection seems to work best with 32kb backups, as the guide indicates.
 
Last edited by YaminoEndo,

zang_282

Member
Newcomer
Joined
Feb 13, 2017
Messages
11
Trophies
0
Age
27
XP
51
Country
Colombia
Yeah, you could, but why not directly try to inject the save file in 3ds B? It would be faster and easier.

But if you want to do it the way you described, I think that what would work best for you if you manage to inject that 512b file in 3ds A, is to install the SRAM version of the cia in both consoles. Save injection seems to work best with 32kb backups, as the guide indicates.

I don't know if I am doing something wrong but this is what I tried this morning:

Basically I used the EEPROM cia file, using Decript9 I dumped the save file (gbavc.save), I plugged my sd card into my computer and replaced the save backup (8kb) with the one I wanted to inject (512b) (I changed the name to gbavc before replacing). After following the guide and arriving one more time into Decript9, the save wasn't recognized. So I tried the same thing with other game called 'Zatch Bell Electric Arena' this had the same save type than 'Dream tag tournament' (EEPROM) but the save size was different (both were 8kb). After injecting the save file downloaded from the internet (100% progress of the game) the result end up with a completely reset save file.

The point is that I'm so confused right now :(.
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
I don't know if I am doing something wrong but this is what I tried this morning:

Basically I used the EEPROM cia file, using Decript9 I dumped the save file (gbavc.save), I plugged my sd card into my computer and replaced the save backup (8kb) with the one I wanted to inject (512b) (I changed the name to gbavc before replacing). After following the guide and arriving one more time into Decript9, the save wasn't recognized. So I tried the same thing with other game called 'Zatch Bell Electric Arena' this had the same save type than 'Dream tag tournament' (EEPROM) but the save size was different (both were 8kb). After injecting the save file downloaded from the internet (100% progress of the game) the result end up with a completely reset save file.

The point is that I'm so confused right now :(.

Well, I was kinda expecting that to fail, because I don't know much about programming and coding, but I think that the backup save file from Decrypt9 and the save you downloaded from the internet are not the same kind or differ in some part of the code. Unless you can find a backup made with Decrypt9, I doubt you'll be able to inject a save file that someone uploaded, even between emulators and flashcarts you had that problem.

I remember once I copied my Digimon Story Lost Evolution save file from my Acekard2i to my computer and NO$GBA wouldn't read it, but DeSmuME did. I think this is a similar situation, so if you want a 100% completion save of any game, to then inject it on your 3ds, you're gonna have to ask someone to upload it. It should be possible, after all you're already transferring the save form one console to the other, so if I were to give you my Minish Cap save, you should be able to inject it with no problem.

Anyways, I'm sorry I can't help you more, but as I said I lack the sufficient knowledge to find a solution. I bumped into the 8kb solution by simple chance because I was curious to know if my theory of the need for a pre-existent save file on Console B would solve it. It turned out to be half of the solution, but I wouldn't have find the other part of it if the HB Launcher hadn't crashed. Keep making tests, with a bit of luck you might find find the solution.
 

zang_282

Member
Newcomer
Joined
Feb 13, 2017
Messages
11
Trophies
0
Age
27
XP
51
Country
Colombia
Well, I was kinda expecting that to fail, because I don't know much about programming and coding, but I think that the backup save file from Decrypt9 and the save you downloaded from the internet are not the same kind or differ in some part of the code. Unless you can find a backup made with Decrypt9, I doubt you'll be able to inject a save file that someone uploaded, even between emulators and flashcarts you had that problem.

I remember once I copied my Digimon Story Lost Evolution save file from my Acekard2i to my computer and NO$GBA wouldn't read it, but DeSmuME did. I think this is a similar situation, so if you want a 100% completion save of any game, to then inject it on your 3ds, you're gonna have to ask someone to upload it. It should be possible, after all you're already transferring the save form one console to the other, so if I were to give you my Minish Cap save, you should be able to inject it with no problem.

Anyways, I'm sorry I can't help you more, but as I said I lack the sufficient knowledge to find a solution. I bumped into the 8kb solution by simple chance because I was curious to know if my theory of the need for a pre-existent save file on Console B would solve it. It turned out to be half of the solution, but I wouldn't have find the other part of it if the HB Launcher hadn't crashed. Keep making tests, with a bit of luck you might find find the solution.

I'll keep making tests and if something new happens, I'll let you know.

Thank you for everything, at the end you helped me a lot to understand how gba saves work! :D :)
 

Rune

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
693
Trophies
0
XP
2,455
Country
United Kingdom
Hi, guys! First post here (been lurking here for years though lol). I'm fairly new to the whole scene so sorry if I'm being stupid.

I've created a .cia for "Castlevania - Aria of Sorrow" using the Ultimate GBA VC Injector tool. I left all the settings as default in the tool and installed the game just fine. Now I don't know if this problem is exclusive to just this game because its the only one I've tried (and the only one I'm currently interested in), but for some reason I can't dump the save file via Decrypt9.
I mean, it apparently dumps it, and it creates a 32kb file. But when I then take that into VBA or No$GBA in Windows, it doesnt load the save file with the game.
My initial assumption was that maybe these GBA VC save dumps don't work outside the 3DS. So I dumped the save again, then wiped my save on the 3DS, and then tried to inject my dump back into the 3DS to see if the save returned, but I got nothing. And to finally confirm things, I opened the save dump in a hex editor and found basically nothing but 00s.

On the other hand, if I play the game on VBA on my PC and then try to inject that save into my 3DS, it works fine. I basically I can bring new saves into the 3DS, but cant backup the save from the 3DS.

Anyone have any clues as to why this might be happening? I'm on a New 3DS with Luma installed following the 3ds.guide, and tried both Decrypt9 and Hourglass9 via the payloads on boot up, if that makes any difference.
 

jfosheezy

Active Member
Newcomer
Joined
Feb 7, 2017
Messages
33
Trophies
0
Age
28
XP
263
Country
United States
Hey guys, really looking for some support here. I've been keeping this save through vba, mgba, and now back to VC. Game is Minish Cap. The original save I have from mgba is only 8kb. I go into 3ds and create a blank save and do steps to backup save to sd card. This resulting save is also 8kb. A regular replacement yields no results. I cannot open my blank VC save in VBA, nor the old mgba sav in VC. I can open the old save in VBA, and exporting the battery file results, in another 8kb file, regardless of savefile type.
Opening these files in a hex editor yields some interesting results. Everything is reversed in my old save (Middle Pane) compared to VC (Left Pane), so I selected all and chose operations, flip bytes, quad word, and it resulted proper formulas of code, (Right Pane)
I'm not really sure exactly what's going on in hex, not really sure what to do, I made the info match up to the filename, because i noticed one says zelda 3, and the other, Zelda 5, but that also didn't work. If anyone could help me somehow get this save working again would be my hero. Attached is my blank vc save and my old save, in case someone want's to like, super help me out.. I've been trying to get this to work for weeks..

VC blank save - https://www.dropbox.com/s/it8kpson7bsidaj/gbavc.sav?dl=0
My old save - https://www.dropbox.com/s/wxbm92d1n0sthtj/Legend of Zelda, The - The Minish Cap .sav?dl=0
 
Last edited by jfosheezy,

Rune

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
693
Trophies
0
XP
2,455
Country
United Kingdom
I had a different problem (post right above yours) but I solved the issue by doing all my save dumping with Agbsave9, while doing all the injecting with Hourglass9. My VC save worked on VBA on Windows, and my VBA save worked on the 3DS as a VC game.

What programs/payloads are you using to dump and inject the save files on the 3DS?
 

jfosheezy

Active Member
Newcomer
Joined
Feb 7, 2017
Messages
33
Trophies
0
Age
28
XP
263
Country
United States
I had a different problem (post right above yours) but I solved the issue by doing all my save dumping with Agbsave9, while doing all the injecting with Hourglass9. My VC save worked on VBA on Windows, and my VBA save worked on the 3DS as a VC game.

What programs/payloads are you using to dump and inject the save files on the 3DS?

Thanks for the response. Using Agbsave to dump my save now allows me to open this save in VBA! one step closer! As it comes out of Agbsave, the HEX format matches just like my old save. It is also still 8kb.
So now a fresh VC save and my old save opens in VBA. However, injecting the old save into my 3ds vc, using hourglass9, leaves all my save spots blank, even though this save opens in VBA. I tried copying all hex data after the save file name to the VC blank save, but this yielded a corrupted save. I even tried GodMode9 to replace the save in the title folder directly, this causes an error when booting the game and I have to reinstall the cia.
Also I mentioned one save when pulling up in hex said Legend of Zelda 3, and the other Legend of Zelda 5, I realized my 3ds cia was pal and my save was usa, I now have usa cia, both say LOZ 5 in hex editor, still not working though.
Screenshot of hex https://www.dropbox.com/s/fwjh03tguii08kb/2017-02-17 (1).png?dl=0
Blank USA VC sav https://www.dropbox.com/s/tgh0cqtip3k22c5/blank vc.sav?dl=0
My sav https://www.dropbox.com/s/wxbm92d1n0sthtj/Legend of Zelda, The - The Minish Cap .sav?dl=0
 
Last edited by jfosheezy,

Rune

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
693
Trophies
0
XP
2,455
Country
United Kingdom
Have you tried injecting with Decrypt9 instead of Hourglass9? Both are supposed to work the same way, but then again so should Agbsave9 as well but that produced different results.
Give Decrypt9 a shot.
 

jfosheezy

Active Member
Newcomer
Joined
Feb 7, 2017
Messages
33
Trophies
0
Age
28
XP
263
Country
United States
Have you tried injecting with Decrypt9 instead of Hourglass9? Both are supposed to work the same way, but then again so should Agbsave9 as well but that produced different results.
Give Decrypt9 a shot.
Decrypt9 also gives me blank save slots :(
 

kid sampson

Well-Known Member
Member
Joined
Jul 20, 2006
Messages
329
Trophies
1
XP
886
Country
United States
Be my guest, I want people to know about this so that they can continue to play their games.

I would like to point out something that I didn't said before: you HAVE to have a saved game on Console B for this to work. I did a test without it with both games and it never worked, at least for me.

Thanks for the follow-up and suggestions which I'm just now seeing. However I'm dealing with something a bit different. I'm trying to restore emulator saves rather than move them between two 3DS consoles. All others injected successfully with the exception of the two games I mentioned, so I at least know it theoretically should work. I'll try your suggestion of turning off the console between steps.
 

YaminoEndo

Member
Newcomer
Joined
Feb 17, 2015
Messages
16
Trophies
0
Age
36
Location
Salta, Argentina
XP
116
Country
Argentina
Thanks for the follow-up and suggestions which I'm just now seeing. However I'm dealing with something a bit different. I'm trying to restore emulator saves rather than move them between two 3DS consoles. All others injected successfully with the exception of the two games I mentioned, so I at least know it theoretically should work. I'll try your suggestion of turning off the console between steps.

You could try what Rune did, apparently it is possible using save files from VBA. I haven't tried it myself, since I've been to busy playing Pokemon Sun, but I'll see if I can make a few tests with saves from emulators.
 

Rune

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
693
Trophies
0
XP
2,455
Country
United Kingdom
To be more clear with what I did, I started Castlevania on the PC and made a save file with the name "VBA" in the save slot. So when I injected it into the 3DS, I was sure I wasn't mixing things up. Like I said above, I only tried injecting it once with Hourglass9 and it worked fine, so I didn't experiment with that any further.
The issue I personally had was taking a save created on the 3DS and getting it to work on the PC. So I started with a new save file on the 3DS called "3DS" (original, I know), and tried dumping with both Hourglass9 and Decrypt9, and none of them worked. But Agbsave9 for some reason worked fine.

What makes this more weird is the fact that I experienced this using a New3DS on 11.2 with Luma, but I then got my old 3DS (also with 11.2 and Luma) and tried that just for the hell of it, and dumping with Decrypt9 worked (where on my New3DS it didn't).
I can't really make any sense of it all, but at least I can some how dump and inject fine, one way or the other.
 

CrispyCola

zero-two
Member
Joined
Feb 8, 2017
Messages
320
Trophies
0
Location
the stars
XP
261
Country
United States
First of all, you can just use agbsave9.
Second of all, this works without CFW if you're on 11.2. Grab soundhax (if you don't already have it), fasthax and safehax, and decrypt9.bin. Put all the *hax files on the root of your sdcard and put decrypt9.bin on the root of your sdcard and rename it to safehaxpayload.bin. Open the homebrew launcher, launch fasthax, then launch safehax. You'll boot into decrypt9.


Sent from my iPhone using Tapatalk
 

mIRChele

Well-Known Member
Newcomer
Joined
Nov 4, 2016
Messages
49
Trophies
0
Age
43
XP
341
Country
Italy
Hi, i used agbsave9 to backup my save (Minish Cap EUR) and it works flawlessly on vba (I tried dumping the save with decrypt9 but it didn't work). However, when I restore the updated save to the 3ds using decrypt9, nothing happens. It says that the restore has been succesfull but when I start the game the previous save is loaded (the one I dumped). Any solution?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    The Real Jdbye @ The Real Jdbye: sure, it can be hands free