fuse-3ds - FUSE Filesystem Python scripts for Nintendo 3DS files

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by ihaveamac, Sep 7, 2017.

  1. Xyphoseos

    Xyphoseos Hack or no games

    Member
    1,094
    103
    Jun 29, 2016
    France
    Rivière
    I dont have the console with me :(
    Thank you ^^
     
  2. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    so I did a lot of code refactoring recently. I managed to add recursive mounting; for example, mounting a CIA/CDN dir will also mount NCCH, and RomFS. so you only need to mount a CIA/CDN dir once, and you can browse the NCCH contents, plus the RomFS. I also separated a bunch of code to a separate module, to reduce duplicate code and hopefully make something more reusable.
     
  3. badhaloninja

    badhaloninja Newbie

    Newcomer
    5
    4
    Nov 30, 2017
    United States
    Cool!
     
  4. tranxuanthang

    tranxuanthang GBAtemp Regular

    Member
    231
    179
    Jul 6, 2015
    I can make this to work easily on my manjaro linux but not in windows (OSError: Unable to find libfuse). It looks like WinFsp is missing, but I already have the newest version installed.
    [​IMG]
    //Solved it while I wrote this. I actually needed a forked version of fusepy, not the official one.
     
  5. pikatsu

    pikatsu GBAtemp Advanced Fan

    Member
    749
    136
    Apr 16, 2014
    Argentina
    Nice tool. Can anyone make a windows gui?
     
  6. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    it's been suggested to me before, I just didn't get around to doing it yet because gui development is way more difficult than a command-line interface.
     
    pikatsu likes this.
  7. Aletron9000

    Aletron9000 3DS Master

    Member
    1,638
    520
    May 10, 2016
    United States
    3DS ARM9 CPU
    Hi, i tried using the program on my linux and windows machine, but all the python scripts give an error. I included a screenshot. thanks for any help anyone may have. i have python3.6, the forked fusepy, and the pycryptodomex.
     

    Attached Files:

    Last edited by Aletron9000, Dec 20, 2017
  8. Jay1Gamer

    Jay1Gamer Advanced Member

    Newcomer
    97
    30
    Apr 7, 2015
    United States
    would this work for dsi nands?
     
  9. trecko1234

    trecko1234 Advanced Member

    Newcomer
    94
    51
    Aug 10, 2013
    United States
    Trying to use this to read my nand backup to get movable.sed, and then extract some saves off an SD backup. A little unsure about the usage of the 'mount_pount' argument. No matter what the mount point is, it always opens up into this. Do I have to do another step to mount the files in this folder, in order to get my essentials.exefs off the nand backup?

    Edit: after googling around and finding the reddit announcement page for this tool it looks like "mount_point" is just the location of where the virtual is mounted to. Not really clear wording for that in the documentation.

    So how would I go about extracting my essential.exefs from the backup to get the movable.sed?
     
    Last edited by trecko1234, Jan 6, 2018
  10. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    mountpoint is where the virtual files would appear. on Windows I would suggest a drive letter like F:

    mount_nand currently doesn't show the essential.exefs as a separate file. what you could do is mount ctrnand using a tool like OSFMount, which can open FAT filesystem images on Windows, then get movable.sed from \private\movable.sed (if the file here is the same one as essential.exefs). in any case I will try to get essential.exefs to appear in the nand mountpoint.
     
    trecko1234 likes this.
  11. trecko1234

    trecko1234 Advanced Member

    Newcomer
    94
    51
    Aug 10, 2013
    United States
    Thank you very much for this help. I was able to get the movable.sed using OSFMount.

    Looking at the original release thread and seeing how far this tool has progressed at this point is a testament to how people like you are keeping the 3DS homebrew scene active with updates and tools that no one has seen before.
     
    ihaveamac likes this.
  12. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    late response but, if the crypto of a DSi nand is not too different to DSi partitions on 3DS, it could be done.
     
  13. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    the commit history would probably show the progress better, but thanks anyway :)
     
  14. OneToOne

    OneToOne Newbie

    Newcomer
    6
    0
    Sunday
    United States
    So I wound up mounting my sd card of an old device that I had the movable.sed from. I'm trying to salvage some extdata from it. I can mount it, I can go to the directory and copy some save files, 4 files in sequence. These files are different than if i was to backup a save form JKs save manager, so how can I move these over? Any thoughts or a better thread to ask in?
     
  15. ihaveamac
    OP

    ihaveamac GBAtemp Guru

    Member
    5,556
    6,200
    Apr 20, 2015
    United States
    Tigard, OR
    JKSM and related tools dump the contents of extdata/savedata archives. when you copy directly from "/Nintendo 3DS" (and decrypt the files, which fuse-3ds does), you get the raw containers the files are in. if you want the files from inside, use https://github.com/wwylele/3ds-save-tool
     
    Last edited by ihaveamac, Feb 12, 2018 at 5:51 PM