[Release] Hourglass9 - Noob friendly & safe NAND dumper / restorer

Discussion in '3DS - Homebrew Development and Emulators' started by d0k3, May 25, 2016.

  1. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,571
    2,592
    Dec 3, 2004
    Gambia, The
    Hourglass9
    Noob friendly, safe, arm9loaderhax only NAND dumper & restorer for the 3DS console

    Screenshots (d0k3's main version)
    menu0002.png menu0100.png menu0200.png

    Screenshots (Shadowtrance's UI version)
    [​IMG] [​IMG] [​IMG]


    Downloads (d0k3's main version)
    Official releases: https://github.com/d0k3/Hourglass9/releases
    Source code: https://github.com/d0k3/Hourglass9


    Downloads (Shadowtrance's UI version)
    Official releases: https://github.com/Shadowtrance/Hourglass9/releases
    Source code: https://github.com/Shadowtrance/Hourglass9


    What is this good for?
    Hourglass9 is nothing new - all the functionality found within it is in Decrypt9, too, and possibly was in Decrypt9 for ages. What new it brings to the table is simplicity and (even more) safety. Arm9loaderhax is a prequisite for this, and with it, it is impossible to brick your console with Hourglass9. So, the rather short list of features:
    • Dump your SysNAND / EmuNAND - to make backup copies you can later return to.
    • Restore your SysNAND / EmuNAND - to return to an earlier state. This will never overwrite your existing arm9loaderhax installation.
    • Validate existing NAND dumps - to make sure they are ready to restore.
    • Dump & Inject the Health and Safety app - to setup a CIA installer in your system. More info here.
    • A nice dragon logo - you wouldn't have expected this, right?
    While the stuff written above should be enough for the average user, advanced users will still need to use Decrypt9 for more specific modifications of their console OS. Also keep in mind that you alone or responsible for keeping your backups safe and not losing them.

    Hourglass9 controls
    The most important controls are displayed on screen, here is a list of all:
    • DOWN/UP - Navigate menus, scroll output, select between options.
    • A - Enter submenu or confirm action.
    • B - Depending on location, leave submenu or cancel.
    • X - Make a screenshot. Works in menu and on console output, after a feature finishes.
    • X + LEFT/RIGHT - Batch screenshot all submenus / entries (only on menu)
    • SELECT - Unmount SD card (only on menu).
    • START (+ LEFT) - Reboot (START only) / Poweroff (with LEFT).
    Most features require the user to choose a file or a directory. In these cases, use the arrow keys to select and A / B to confirm and cancel.

    License
    You may use this under the terms of the GNU General Public License GPL v2 or under the terms of any later revisions of the GPL. Refer to the provided LICENSE.txt file for further information.

    Credits
    • smealum, plutoo, derrek for giving the world the gift of arm9loaderhax
    • delebile, dark_samus, Plailect, AuroraWright and countless others for making arm9loaderhax available to the public
    • Archshift for starting Decrypt9
    • Normmatt for sdmmc.c as well as project infrastructure (Makefile, linker setup, etc)
    • Cha(N), Kane49, and all other FatFS contributors for FatFS
    • b1l1s for his 'behind-the-scenes' work and for making arm9loaderhax support possible
    • Relys, sbJFn5r for the decryptor
    • mid-kid for hosting freenode #Cakey
    • Al3x_10m for being an immense help with testing stuff that I can't test
    • Everyone I forgot about - if you think you deserve to be mentioned, just contact me
     

    Attached Files:

    Last edited by d0k3, May 27, 2016


  2. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,881
    2,349
    Nov 15, 2014
    France
    Albi
    Why use it when you can use Decrypt9 :unsure:?
     
  3. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,495
    3,881
    Jun 9, 2007
    At this rate, you'll have an entire alphabet of <letter>9 tools (G9 (godmode9), D9 (decrypt9), H9 (Hourglass9), etc.) , @d0k3. :P

    I jest, though. Congrats on the release.
     
    XRaTiX, Salamencizer and klear like this.
  4. zoogie

    zoogie simple pimp tool

    Member
    6,161
    7,787
    Nov 30, 2014
    United States
    He explained it. It's for ease-of-use and noob safety when installing a9lh.
     
    zeldaism and Asia81 like this.
  5. espen

    espen Advanced Member

    Newcomer
    56
    15
    Aug 30, 2009
    Norway
    Bergen
    What's the story behind the name? If you don't mind me asking that is
     
  6. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,495
    3,881
    Jun 9, 2007
    I'm pretty sure it's a pun based off Gateway's new "Time Machine".
     
    samiam144, Salamencizer and zoogie like this.
  7. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,571
    2,592
    Dec 3, 2004
    Gambia, The
    You might be afraid of what Decrypt9 can do and be overwhelmed by its ~120 menu entries. As you know, there are tons of safety clamps in D9, but as my experience showed me, there is also always that guy who manages to brick (or: forget something, do something he should not have done, etc ...) regardless. With this, you can't brick. Your biggest fear with this should be losing your backups. You can also install this on a kids console without fear of the little one messing his console up completely.

    Take a good look at that icon, then think about what's the most controversial 3DS topic right now. You'll come up with it :). Other than this, yup, this allows you to revert in time. So to say.
     
    Last edited by d0k3, May 25, 2016
  8. Townsperson

    Townsperson GBAtemp Fan

    Member
    398
    272
    Dec 7, 2015
    United States
    It's just for extremely basic users (People who don't know what Decrypt9 is/does).

    This makes it impossible to brick since it doesn't allow you to overwrite a9lh. It's solely to prevent people from bricking if they have no idea what it is they're doing.
     
  9. espen

    espen Advanced Member

    Newcomer
    56
    15
    Aug 30, 2009
    Norway
    Bergen
    haha, it's all as I thought then XD, good one. Need more jokes like that
     
  10. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,881
    2,349
    Nov 15, 2014
    France
    Albi
    oh, ok sorry.
    For the fact, Idk why but I thought to Zelda PH when I read the name :rofl:
     
    Darkyose, XRaTiX, Patxinco and 3 others like this.
  11. TheReturningVoid

    TheReturningVoid 0xAAAAAAAA

    Member
    332
    142
    Oct 2, 2014
    /dev/urandom
    Nice! I can see this being useful for people who are a little overwhelmed by Decrypt9, or for people who want to have a more minimalist UI for restoring backups. One feature request I have though: Add custom bottom screens like in Decrypt9. I'm not saying I don't like the bottom screen (It's pretty cool, and I get the reference :P), but some people might want to change the image to something that better suits them.
     
    Tomato Hentai likes this.
  12. MassExplosion213

    MassExplosion213 .

    Member
    1,409
    953
    Feb 15, 2015
    United States
    Would it brick if passed a bricked N3DS emunand? :P
     
  13. DjoeN

    DjoeN Captain Haddock!

    Member
    5,135
    1,478
    Oct 21, 2005
    Belgium
    Somewhere in this potatoland!
    Great job @d0k3
    This is indeed very noobfriendly and very simple to use for A9LH users, just dumping nand's and restoring while keeping your a9lh!
     
  14. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,571
    2,592
    Dec 3, 2004
    Gambia, The
    I don't want to keep the bottom screen in a separate file here (because other than in D9, it is not required for size restrictions), but it is easy to switch it with a recompile.
    https://github.com/d0k3/Hourglass9/tree/master/resources
    https://github.com/d0k3/Hourglass9/tree/master/data

    — Posts automatically merged - Please don't double post! —

    No. Try it. It won't accept it. Also, a9lh will always allow you to go back to Hourglass9 and fix, even if you sneaked a corrupted one past it's safety measures.
     
  15. BurningDesire

    BurningDesire GBAtemp Psycho!

    Member
    4,945
    5,728
    Jan 27, 2015
    United States
    Behind a screen reading news
    I have a feature suggestion. I have many nand backups and sometimes forget them. I have yet to try the validation feature but....

    What if it validates and while doing so shows

    What type of 3ds
    What region
    What Firmware

    Just a idea.
     
    TheReturningVoid likes this.
  16. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,571
    2,592
    Dec 3, 2004
    Gambia, The
    That's not as simple as you may think (I'd almost say, impossible). 3DS type (N3DS / O3DS) can be recognized by the backup size (only N3DS is > 1GB). FW can only be recognized with a database of FIRM hash, and region needs to decrypt and extract a file from NAND. BUT: you can't look into NANDs that are not dumped from the console you are running Hourglass9 from, so identifying a different consoles NAND backup is out of question. So, that's that.
     
  17. BurningDesire

    BurningDesire GBAtemp Psycho!

    Member
    4,945
    5,728
    Jan 27, 2015
    United States
    Behind a screen reading news
    Well. That sucks. Even though I name my Nands I am too scared to use them because I forget which is which :rofl2:
     
  18. TheReturningVoid

    TheReturningVoid 0xAAAAAAAA

    Member
    332
    142
    Oct 2, 2014
    /dev/urandom
    Well you shouldn't need to look into the NAND if it isn't your console, the thing should just straight up reject it. The FW detection limitations are reasonable though.
     
  19. ihaveamac

    ihaveamac GBAtemp Guru

    Member
    5,342
    5,765
    Apr 20, 2015
    United States
    Tigard, OR
    could always try comparing the NCSD header between them. ones with the same one are for the same console. you can use GodMode9 to get just the NCSD header from a console, then use that to find out which dumps are for which console.
     
    BurningDesire likes this.
  20. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,571
    2,592
    Dec 3, 2004
    Gambia, The
    You can't restore a different consoles backup anyways, and as i wrote...
     
    BurningDesire likes this.