Hacking Obtaining movable_part1.sed from Mii QR code?

patataofcourse

New Member
OP
Newbie
Joined
Aug 3, 2021
Messages
4
Trophies
0
XP
4
Country
Spain
Hi there!
Yesterday, my 3DS fell and... uh... broke in half. Yep. Literally just... split in half.
Although I am really upset over not being able to play, like, 80% of the games I love, I wanted to at least try to get my saves and my stuff back. After all, I do have 3.5 million bells in my New Leaf bank account :V
Sadly, I got stuck somewhere in the process and I don't know where to keep going, so I decided to ask for help instead! Maybe this way some other poor soul can find this and fix their stuff, lol.

So, I started looking up solutions, and I stumbled across this thread: [can't post links, post is named "AntisaveGame Restore/Encryption Issue (Pokemon X)"].
Now I had a better idea of what I had to do. I downloaded seedminer and ninfs, then obtained a couple of the files needed for ninfs. I already had extracted boot9.bin and my seeddb.bin (I'm not sure if I actually need the last one tho?) so I took those files, but there was no movable.sed or movable_part1.sed.
Since my HDD from when I hacked my 3DS broke a few months ago and my 3DS' original SD card did too, some time before that, I don't have the movable_part1.sed. And, well, I doubt any of my friends are willing to hack their 3DS so I can get my saves back (I've already asked a few of 'em lol).

But then, suddenly, I noticed something: the release page for seedminer 2.0 said something about getting the part1/LFCS from a mii QR code! So I started looking up how exactly to do this.
To my dissapointment, there's very little documentation regarding seedminer, but I was able to find the seedminer launcher GUI python script (seedminer/seedminer_launcher3_GUI.py) inside the repo. So I could just extract the Mii... right?

I'm going to skip all the Windows/Linux crap and skip to where I got it to almost work out. ...except...
upload_2021-8-3_15-8-39.png

Yeah. *sigh*.
I don't know what's happening, but bfCL doesn't seem to be given the right console arguments? IDK.
For reference, the version of seedminer I'm using is the latest release, 2.1.5. I did try to compile the last commit of bfCL myself but I got hit by a few warnings and, after I disabled those, like 20 multiple definition errors.

I'd prefer to do this myself because I feel kinda ehhhhhhh about posting any info about my 3DS online (afaik all you can get from that is that screenshot is that it's an old 3DS lol), but I can send the Mii over if needed.

...also, can I just get the movable from the seeddb or something? I don't know where I got this idea from but I want to discard it as soon as possible if these two files are unrelated.

By the way, I just made a GBAtemp account to be able to ask this (reading posts here usually solved my issues, and it's how I got most of my information, so, why not?), so I couldn't use the Ask thing, and also, if I've categorized this wrong or anything else, just let me know! ^^

[If at some point I reach the 5 message thing I'll update and add links for clarity, sorry for that :/]
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,758
Trophies
1
XP
2,155
Country
Canada
Great post! I am very impressed.

Just to be sure, did you look at the official Seedminer readme.txt at https://github.com/zoogie/seedminer/releases/tag/v2.1 ? Did you use https://3ds.goombi.fr/editMii/ to get encrypted.bin? (I have never tried this before myself, to be clear.)

Also, it might be useful to provide the approximate arguments you are using to run seedminer_launcher3_gui.py .

I already had extracted boot9.bin and my seeddb.bin
boot9.bin is exactly the same for all 3DS consoles and contains no unique information. I'm pretty sure the same applies to seeddb.bin.

Are you sure you don't still have essentials.exefs or a NAND backup? Because you can use those to get your movable.bin as well.

And, well, I doubt any of my friends are willing to hack their 3DS so I can get my saves back (I've already asked a few of 'em lol).
You can use userland exploits to run seedstarter.3dsx – that is, you can run the Homebrew Launcher from Pichaxx – without having to install CFW, meaning you don't have to make any persistent changes, if that would help you persuade them. (Too bad you're a little too late for browserhax.)
 
Last edited by Kwyjor,
  • Like
Reactions: patataofcourse

patataofcourse

New Member
OP
Newbie
Joined
Aug 3, 2021
Messages
4
Trophies
0
XP
4
Country
Spain
Great post! I am very impressed.
Thank you! :D

Just to be sure, did you look at the official Seedminer readme.txt at [link removed because new member]?
Oh, I missed that! 2.1.5 doesn't have a readme. Still, I did do everything in there, including getting the encrypted.bin / input.bin

Also, it might be useful to provide the approximate arguments you are using to run seedminer_launcher3_gui.py .
I modified the launcher and GUI script for it to work properly, but it was just making it run it through wine (for the GUI script) and making the launcher compatible with the GUI script because the mii stuff was broken in the GUI. I've attached the modified versions of both those files in a zip file - I might make a PR for the seedminer repo at a later point?
In the GUI, I do the following:
  1. Run "python seedminer_launcher3_GUI.py"
  2. Choose 4 (Mii bruteforce)
  3. Enter my ID0
  4. Choose "old", because it's an O3DS
  5. Enter 0 for the year because I have no idea which year it was made in (2011-2012 maybe?)
  6. There, that's the error
I think that any 32-character hex string works as an ID0, but not sure.
For the launcher itself, running the following commands should work:
Code:
python seedminer_launcher3.py id0 [ID0]
python seedminer_launcher3.py mii old


boot9.bin is exactly the same for all 3DS consoles and contains no unique information. I'm pretty sure the same applies to seeddb.bin.
Damn. Well, at least I can use them if needed, heh.

Are you sure you don't still have essentials.exefs or a NAND backup? Because you can use those to get your movable.bin as well.
I've looked in SD/gm9/out and SD/luma, is there anywhere else?

You can use userland exploits to run seedstarter.3dsx – that is, you can run the Homebrew Launcher from Pichaxx – without having to install CFW, meaning you don't have to make any persistent changes, if that would help you persuade them. (Too bad you're a little too late for browserhax.)
Not sure how I would go about doing that... how would it differ from the 3ds hacks guide method?

Edit: Regarding the changes for the python files, I've made a diff, so it's clear exactly what was changed, and attached it to this post! Apparently, I only changed the launcher, oops.
Other edit: I keep fixing typos and making acclarations, that's why there's so many edits lol
 

Attachments

  • extract this in seedminer folder.zip
    7.5 KB · Views: 34
  • diff.txt
    2.1 KB · Views: 16
Last edited by patataofcourse,

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
1,758
Trophies
1
XP
2,155
Country
Canada
Perhaps it would be worth trying the 2.1 release of Seedminer? Considering how rarely this particular feature is used, it wouldn't be surprising if a bug happened to creep in.

On that note, why are you using Wine instead of the Linux version posted at https://github.com/zoogie/seedminer/releases/tag/v2.1.5 ?

A Google search for "bfcl lcfs" (with quotes) turns up https://gbatemp.net/threads/seedminer-fc-and-mining-help.496114/page-45 , which implies that the line "invalid parameters" is supposed to name your GPU - which in turn suggests that bfcl.exe is trying and failing to find your GPU, which wouldn't be surprising if it's running under Wine.

how would it differ from the 3ds hacks guide method?
The only difference is that instead of using universal-otherapp (which is only good for installing b9s), you would use the old otherapp payload that starts the Homebrew Launcher.
 
  • Like
Reactions: patataofcourse

patataofcourse

New Member
OP
Newbie
Joined
Aug 3, 2021
Messages
4
Trophies
0
XP
4
Country
Spain
On that note, why are you using Wine instead of the Linux version posted at [...] ?
I was unable to find the OpenCL library that seedminer needed (my OpenCL lib had nvidia in the name, and making a symlink didn't work either). But in the end I gave up and just switched to Windows (I'm dual-booting Manjaro and Windows 10).

[...], which implies that the line "invalid parameters" is supposed to name your GPU - which in turn suggests that bfcl.exe is trying and failing to find your GPU, which wouldn't be surprising if it's running under Wine.
Weird. Again, I'm not trying through Wine, is there any other reason you can think of why it would happen?

The only difference is that instead of using universal-otherapp (which is only good for installing b9s), you would use the old otherapp payload that starts the Homebrew Launcher.
Okay, cool, thank you!

Perhaps it would be worth trying the 2.1 release of Seedminer? Considering how rarely this particular feature is used, it wouldn't be surprising if a bug happened to creep in.
upload_2021-8-3_17-13-26.png

I think it's working! I can't believe it was as easy as that- after all that digging all I had to do was download an older release lol.
Thank you so much! I'll reply again if I find any other issues!
 
General chit-chat
Help Users
    kenenthk @ kenenthk: Have you tried SwiftKey psi its not as annoying when it comes to autocorrect