ROM Hack ninfs - FUSE filesystem Python scripts for Nintendo console files

safan41

Active Member
Newcomer
Joined
Feb 11, 2017
Messages
34
Trophies
0
Location
Illinois
Website
safan41.github.io
XP
901
Country
United States
Ok, whenever I try to start the gui on linux, it says i don't have appJar (/ the gui) installed which i do have installed. I can mess with the command line, but I would like to know how to fix this problem.
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
Ok, whenever I try to start the gui on linux, it says i don't have appJar (/ the gui) installed which i do have installed. I can mess with the command line, but I would like to know how to fix this problem.
Install appJar manually or install with gui support. This will ensure it installs the dependencies properly.
Code:
python3 -m pip install --upgrade --user https://github.com/ihaveamac/fuse-3ds/releases/download/v1.2b2/fuse-3ds-1.2b2-src.zip#egg=fuse-3ds[gui]
Make sure you also have Tk installed (on Ubuntu: python3-tk; look for your distro's equivalent)
 
Last edited by ihaveahax,

Mr Skinner

Well-Known Member
Member
Joined
Jul 12, 2010
Messages
162
Trophies
1
Age
36
Location
Bananna Land.
Website
www.nerdfy.com.br
XP
837
Country
Brazil
@ihaveamac
I have a specific situation here, and I wonder if 3ds-fuse could help me.

1 - I formatted and installed Bs9 in a 3ds running Rxtools. I did not backup the SD saves, believing I could just copy and paste the Nintendo 3ds folder, that everything would be okay. It was a stupid thing. The saves and data were not recognized by 3ds.

2- Basically what I have is an old SD with the files of my 3ds that ran RXtools, including a backup of Nand pre installation RXTOOLS, and the backups done automatically by GM9 when I installed the latest version of BS9.

The question is:

How could I make the saves of my games in RX tools, run in 3ds Bs9 Installed? Is it possible to do this with Fuse? How would it be?
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
@ihaveamac
I have a specific situation here, and I wonder if 3ds-fuse could help me.

1 - I formatted and installed Bs9 in a 3ds running Rxtools. I did not backup the SD saves, believing I could just copy and paste the Nintendo 3ds folder, that everything would be okay. It was a stupid thing. The saves and data were not recognized by 3ds.

2- Basically what I have is an old SD with the files of my 3ds that ran RXtools, including a backup of Nand pre installation RXTOOLS, and the backups done automatically by GM9 when I installed the latest version of BS9.

The question is:

How could I make the saves of my games in RX tools, run in 3ds Bs9 Installed? Is it possible to do this with Fuse? How would it be?
If you have boot9 and your OTP (GM9 lets you dump this if you have b9s), you can decrypt NANDs. Inside you can find /private/movable.sed which includes the SD encryption key. You can use this to decrypt saves if you have the right key for the data you want.

If you have a backup of when those games worked (or possibly even before), you should be able to do this.
 

Mr Skinner

Well-Known Member
Member
Joined
Jul 12, 2010
Messages
162
Trophies
1
Age
36
Location
Bananna Land.
Website
www.nerdfy.com.br
XP
837
Country
Brazil
If you have boot9 and your OTP (GM9 lets you dump this if you have b9s), you can decrypt NANDs. Inside you can find /private/movable.sed which includes the SD encryption key. You can use this to decrypt saves if you have the right key for the data you want.

If you have a backup of when those games worked (or possibly even before), you should be able to do this.

Thanks for the answer. My console was at 9.2 and I used the "push button R" method to enter Rxtools. So, as soon as I cleaned the SD with the RXtools files, I used the soundhax and installed the BS9.

I believe the Nand version and essential.exefs are from the backup made immediately after the BS9 installation. Do they serve me? If so, how can I decrypt them? From what I studied about fuse-3ds, it uses the OTP and CID I have no idea how to get them.
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
Thanks for the answer. My console was at 9.2 and I used the "push button R" method to enter Rxtools. So, as soon as I cleaned the SD with the RXtools files, I used the soundhax and installed the BS9.

I believe the Nand version and essential.exefs are from the backup made immediately after the BS9 installation. Do they serve me? If so, how can I decrypt them? From what I studied about fuse-3ds, it uses the OTP and CID I have no idea how to get them.
essential.exefs contains the otp and cid, which are unique to every console and never change. fuse-3ds only needs the otp for 99% of cases. You can also get otp.mem in GM9 from [M:] MEMORY VIRTUAL.
 

Deleted member 373223

Pink = Best colour
Member
Joined
Oct 8, 2015
Messages
4,099
Trophies
1
XP
2,790
Hello, i need help. Keep getting this error:
Running: ['C:\\Users\\fnova\\Documents\\games3ds\\fuse-3ds.exe', 'nanddsi', '-f', 'C:/Users/fnova/Desktop/nand.bin', 'C:/Users/fnova/Desktop/dsinand']
fuse-3ds v1.1.1 - https://github.com/ihaveamac/fuse-3ds
Traceback (most recent call last):
File "Z:\fuse-3ds\fuse3ds\_pyi_main.py", line 26, in <module>
File "Z:\fuse-3ds\fuse3ds\main.py", line 62, in mount
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mount.nanddsi'
[4388] Failed to execute script _pyi_main
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
Hello, i need help. Keep getting this error:
Running: ['C:\\Users\\fnova\\Documents\\games3ds\\fuse-3ds.exe', 'nanddsi', '-f', 'C:/Users/fnova/Desktop/nand.bin', 'C:/Users/fnova/Desktop/dsinand']
fuse-3ds v1.1.1 - https://github.com/ihaveamac/fuse-3ds
Traceback (most recent call last):
File "Z:\fuse-3ds\fuse3ds\_pyi_main.py", line 26, in <module>
File "Z:\fuse-3ds\fuse3ds\main.py", line 62, in mount
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mount.nanddsi'
[4388] Failed to execute script _pyi_main
Try v1.2b3
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
Last edited by ihaveahax,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
It's up to v1.3.1 now, with a new icon, and a standalone macOS application.
64x64.png

v1.3 also added features to skip online updates.
https://github.com/ihaveamac/fuse-3ds/releases/tag/v1.3.1
 

emuashui

Well-Known Member
Member
Joined
Jan 17, 2016
Messages
309
Trophies
0
XP
550
Country
Hong Kong
sorry noob qxn, must the boot9.bin and the nand file to be opened belong to the same console? Can't i use any boot9.bin ?
 
Last edited by emuashui,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
I put out some new releases since the last post. Notably, 1.5 can read split Nintendo Switch NAND backups, and 1.6 fixes a write corruption bug in the SD mount.

https://github.com/ihaveamac/ninfs/releases/tag/v1.6

Changes since v1.4
  • Support split Nintendo Switch NAND backup files
    • Each part is expected to end in two digits (e.g. rawnand.bin.00, rawnand.bin.01, ...). Any part can be selected, the program will search for all parts starting with 00.
    • The command line argument -S or --split-files is used for a split backup.
    • The GUI will attempt to automatically detect this based on the filename.
  • GUI: Automatically detect Nintendo DSi NAND backups
  • GUI: Fix oversight breaking automatic detection of Nintendo 3DS NAND backups
  • ExeFS: Always show code-decompressed.bin, even if .code is not compressed
Changes since v1.5
  • CDN: Support using a tmd file to mount - #36
    • The GUI now expects a tmd file by default instead of a directory.
  • SD: Support manual SD key input
    • --sd-key reads the key as a hexstring. It cannot be used at the same time as --movable.
    • The GUI currently does not accept the key as a hexstring, only a movable.sed file.
  • CMDLINE: Support --boot9 for loading the ARM9 bootROM from any path
  • SD: Workaround write corruption bug
  • NANDHAC: Performance improvements to AES-XTSN crypto operations by @luigoalma
  • CCI: Remove useless SeedDB option
  • Stability or something, I guess.
 
  • Like
Reactions: GilgameshArcher

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
I'd like to know why does ninfs not need a dsi cid for nand decryption? (is there something to generate it or stuff that needs it only use the consoleid to derive them?)
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,851
Country
United States
I'd like to know why does ninfs not need a dsi cid for nand decryption? (is there something to generate it or stuff that needs it only use the consoleid to derive them?)
If no CID is provided, it will attempt to generate the Counter, using a block of known plaintext in the header. In practice, this header never changes, so it's a good target. A similar process is used for 3DS NANDs.

https://github.com/ihaveamac/ninfs/...6b46f19f08a5/ninfs/mount/nandtwl.py#L102-L114
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Well I was getting a discount so 320 is probably right
  • BigOnYa @ BigOnYa:
    That is cheap, I used to pay $100 for a tine.
  • Psionic Roshambo @ Psionic Roshambo:
    Tine? One gram?
  • BigOnYa @ BigOnYa:
    Sixteenth
  • Psionic Roshambo @ Psionic Roshambo:
    Also it was literally out of a kilo when I got it off the boat so absolutely pure
  • Psionic Roshambo @ Psionic Roshambo:
    Holy shiz that's a lot
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I was getting 3.5 Grams for 320 could have stepped on it and doubled my money easy lol
    +1
  • BigOnYa @ BigOnYa:
    I'd be afraid to it nowdays, my heart would explode prob. I just stick beers n buds nowdays.
  • Psionic Roshambo @ Psionic Roshambo:
    I would get to drive from tarpon springs to like Miami a thousand bucks lol do that twice a week and back in 92 that was good money
  • Xdqwerty @ Xdqwerty:
    @BigOnYa,
    @Psionic Roshambo what are you guys talking about?
  • Psionic Roshambo @ Psionic Roshambo:
    Blew it on women and muscle cars lol
    +1
  • BigOnYa @ BigOnYa:
    @Xdqwerty Hamster food, its pricey nowadays to keep PCs running.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    I don't do anything except cigarettes and gotta stop eventually lol
    +1
  • BigOnYa @ BigOnYa:
    I'd do shrooms again if could find, and I was outside camping/fishing, and had a cooler full of beer.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I wouldn't mind some LSD, laughing until my face hurt sounds fun lol
    +1
  • BigOnYa @ BigOnYa:
    You ever try soaper powder/qauludes? I did once and like a dumbass drank beer on top of taking, I woke up laying in my backyard in the pouring rain, it knocked me out. I have not seen it around in many many years.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    No never tried a lot of things but never that lol
  • Psionic Roshambo @ Psionic Roshambo:
    I did pass out one time on a floor after taking a bunch of Ambien lol thought it would help me sleep and did it lol
  • Psionic Roshambo @ Psionic Roshambo:
    Girlfriend was working at a pharmacy and stole like 500 of them, was and still is the biggest pill bottle I have ever seen lol
  • K3Nv2 @ K3Nv2:
    Ativan is pretty legit
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    The last time I had to take something to help me sleep, I was prescribed Trazadone it was pretty OK to be honest.
  • Psionic Roshambo @ Psionic Roshambo:
    Not something I need at all these days, doing a lot better lol
  • BigOnYa @ BigOnYa:
    That Nuka Cola video with old ice grinder is cool, I want one.
    +1
    BigOnYa @ BigOnYa: That Nuka Cola video with old ice grinder is cool, I want one. +1