Hacking How can I decrypt nand sysdata saves (Mii Maker, Mii Plaza, etc.)

SOGAZG

Member
OP
Newcomer
Joined
Apr 13, 2020
Messages
10
Trophies
0
Age
23
XP
80
Country
Mexico
Hi, I have a nand backup of an old 3ds I had. This 3ds got lost. Thank god I got the backup and now I've recovered everything, from old data, to the sd card encrypted game save data (using movable.sed and other tools).

Now, next, I'm looking to recover my Mii Maker and Mii Plaza save files. Using ninfs, I decrypted my nand.bin, and in the ctrnand_full.img I got to the sysdata folder where this save data is stored. Now, my final goal is to be able to open these saves on citra. On citra I already installed all system cias (system settings, mii plaza, mii maker, etc.) and I got the folder where they store the saves. When I go in the sysdata folder from citra, and enter the game folder, instead of a 00000000 file with no extension, there is a folder with the same name and a "editSaveData.bin" file inside. I suppose this is the decrypted version of the 00000000 file on my Nand sysdata.

Mii Maker:
My Nand Backup:
1681433732366.png


Citra:
1681433663245.png



I want to know if there is a way to decrypt this type of files without having to use the original 3ds (since I no longer have it). I tried using tools like three sd to transfer everything to citra, but I got stuck in the part where I need to execute the threeSDumper.gm9 on the 3ds (because I don't have it).

If you need me to clear something up to help you understand please let me know.

Any help would be appreciated :)
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,473
Country
Canada
When I go in the sysdata folder from citra, and enter the game folder, instead of a 00000000 file with no extension, there is a folder with the same name and a "editSaveData.bin" file inside. I suppose this is the decrypted version of the 00000000 file on my Nand sysdata.
That's a broad assumption.

According to https://www.3dbrew.org/w/index.php?title=Mii_Maker&mobileaction=toggle_view_desktop , if you open editSaveData.bin in Notepad, and it's decrypted, you should see the word "TIDE" right at the start. Does that apply to both your editSaveData.bin and this 00000000 file?

Failing that, do you see the word "DISA" or "DIFF". as per https://www.3dbrew.org/wiki/DISA_and_DIFF ?

You are also probably going to need the information in https://www.reddit.com/r/3dshacks/comments/70gwgu/everything_you_wanted_to_know_about_the_3ds_but/ sooner or later.
 

SOGAZG

Member
OP
Newcomer
Joined
Apr 13, 2020
Messages
10
Trophies
0
Age
23
XP
80
Country
Mexico
That's a broad assumption.

According to https://www.3dbrew.org/w/index.php?title=Mii_Maker&mobileaction=toggle_view_desktop , if you open editSaveData.bin in Notepad, and it's decrypted, you should see the word "TIDE" right at the start. Does that apply to both your editSaveData.bin and this 00000000 file?

Failing that, do you see the word "DISA" or "DIFF". as per https://www.3dbrew.org/wiki/DISA_and_DIFF ?

You are also probably going to need the information in https://www.reddit.com/r/3dshacks/comments/70gwgu/everything_you_wanted_to_know_about_the_3ds_but/ sooner or later.
In the citra one (editSaveData.bin) shows TIDE at the start, and in mine (file 00000000) shows DISA & DIFI.

What does this mean?
 

SOGAZG

Member
OP
Newcomer
Joined
Apr 13, 2020
Messages
10
Trophies
0
Age
23
XP
80
Country
Mexico
I have the program downloaded. Now, I ran the disa-extract.py without arguments and this is what it shows me:
1681706818238.png

Now, for this specific case
1st: Do I need to provide secrets.py?
2nd: Which arguments should I run disa-extract.py with? (I guess in this case is input: my save file 00000000, output: output folder, and -nand)
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,473
Country
Canada
Now, for this specific case
1st: Do I need to provide secrets.py?
2nd: Which arguments should I run disa-extract.py with? (I guess in this case is input: my save file 00000000, output: output folder, and -nand)

There is already a suitable example on the page.
Code:
./disa-extract.py \
    "sdmc/gm9out/00000001.sav" \
    "output/savedata"

This extracts game save data that has been decrypted using GodMode9 (or any other tools) to folder output/savedata.

(The backslashes are unnecessary; you can just enter everything on one line.)
 

SOGAZG

Member
OP
Newcomer
Joined
Apr 13, 2020
Messages
10
Trophies
0
Age
23
XP
80
Country
Mexico
Well no mentioning it still leaved me in blank. In my shoes idk if you do not saw that part, or by not mentioning it, it is not necessary. But no problem, it worked perfectly. Thank You so much for helping me :)
 

Rude_Boy_EEEE

Member
Newcomer
Joined
May 18, 2015
Messages
22
Trophies
0
Age
27
Location
NJ, USA
XP
130
Country
United States
Well no mentioning it still leaved me in blank. In my shoes idk if you do not saw that part, or by not mentioning it, it is not necessary. But no problem, it worked perfectly. Thank You so much for helping me :)
How'd you end up doing it? I can't seem to understand Python well enough to do this...
 

DaniElectra

Member
Newcomer
Joined
Jul 11, 2023
Messages
5
Trophies
0
XP
106
Country
Spain
How'd you end up doing it? I can't seem to understand Python well enough to do this...
Coming almost a year later, but assuming you have Python installed, you can just open a command prompt on the same folder where you download the tool and run:

python3 disa-extract.py input_file output_folder

Where input_file would be the sysdata save and output_folder is the folder where the save data will be extracted. The secrets.py part isn't required
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Julie_Pilgrim @ Julie_Pilgrim:
    im sure half the responses won't be literal racial slurs or "drop table" jokes
  • Veho @ Veho:
    Look, it's China. They know what it's like when you give a poll to half a billion trolls.
    +1
  • K3Nv2 @ K3Nv2:
    How much dollar do you think it is?
  • Veho @ Veho:
    ONE MILLION DOLLA
    +1
  • Veho @ Veho:
    I know the pricing of electronics nowadays isn't "how much it actually costs" but "how much we can get away with", but putting up a poll is just cynical.
    +1
  • K3Nv2 @ K3Nv2:
    Probably $150 someone said Anbernic said around the same price as rg556
  • Julie_Pilgrim @ Julie_Pilgrim:
    you know which game i wish they would rerelease
  • Julie_Pilgrim @ Julie_Pilgrim:
    sonic unleashed
  • K3Nv2 @ K3Nv2:
    Make it a happy meal toy
  • Julie_Pilgrim @ Julie_Pilgrim:
    that game's engine is really fucking intensive so it runs like literal shit on xbox 360 and ps3
  • Veho @ Veho:
    Nah I'm getting value creep again. I look at a $50 console "but for just a few more dollars you could get XYZ" and I end up considering the Steam Deck.
    +1
  • Julie_Pilgrim @ Julie_Pilgrim:
    like the lighting in that game was genuinely so good
  • Veho @ Veho:
    Not getting dragged into that again.
  • Julie_Pilgrim @ Julie_Pilgrim:
    i dont get why they didn't port the one game that ran the worst on consoles, to pc
  • Julie_Pilgrim @ Julie_Pilgrim:
    like you port everything to pc except the one game where it would make the most sense. why. what do you gain from this
  • Julie_Pilgrim @ Julie_Pilgrim:
    is sega just personally fucking with me? are they laughing while watching me through my kinect camera as i get up to restart my xbox for the third time because the game froze again
  • K3Nv2 @ K3Nv2:
    Buy handhelds from five below better quality
  • K3Nv2 @ K3Nv2:
    Valve probably going to do another refresh of the deck this fall with rog ally like specs tbh
    +1
  • Veho @ Veho:
    A smaller form factor would be nice too.
    +1
  • K3Nv2 @ K3Nv2:
    A shield portable 2 would be nice aye Nvidia
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    The big leap in all things tech is when carbon based chips start hitting.
  • Psionic Roshambo @ Psionic Roshambo:
    Longer battery life cooler temps and faster! What's not to like lol (probably expensive as hell)
  • AncientBoi @ AncientBoi:
    [checks my dildo(s) batteries, coolant and lube] :O [promptly replaces them] :D
    AncientBoi @ AncientBoi: [checks my batteries, coolant and lube] :O [promptly replaces them] :D