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

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,823
Country
Germany
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)
9f3a99acc5.png
94510c30c8.png
76eae4e989.png


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
 

Attachments

  • Hourglass9-20160525-120403.zip
    83.6 KB · Views: 1,174
Last edited by d0k3,

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,823
Country
Germany
Why use it when you can use Decrypt9 :unsure:?
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.

What's the story behind the name? If you don't mind me asking that is
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,

Townsperson

Well-Known Member
Member
Joined
Dec 7, 2015
Messages
404
Trophies
0
Age
28
XP
426
Country
United States
Why use it when you can use Decrypt9 :unsure:?

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.
 

espen

Well-Known Member
Newcomer
Joined
Aug 30, 2009
Messages
59
Trophies
0
Age
25
Location
Bergen
XP
211
Country
Norway
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.

haha, it's all as I thought then XD, good one. Need more jokes like that
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
224
Country
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.
 
  • Like
Reactions: Deleted User

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,823
Country
Germany
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.
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

--------------------- MERGED ---------------------------

Would it brick if passed a bricked N3DS emunand? :P
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.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,823
Country
Germany
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.
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.
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
5,000
Trophies
0
Location
Behind a screen reading news
XP
4,762
Country
United States
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.
Well. That sucks. Even though I name my Nands I am too scared to use them because I forget which is which :rofl2:
 

TheReturningVoid

0xAAAAAAAA
Member
Joined
Oct 2, 2014
Messages
332
Trophies
0
Location
/dev/urandom
XP
224
Country
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.
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.
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
5,957
Trophies
2
XP
6,480
Country
United States
Well. That sucks. Even though I name my Nands I am too scared to use them because I forget which is which :rofl2:
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.
 
  • Like
Reactions: BurningDesire

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,823
Country
Germany
Well. That sucks. Even though I name my Nands I am too scared to use them because I forget which is which :rofl2:
You can't restore a different consoles backup anyways, and as i wrote...
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.
 
  • Like
Reactions: BurningDesire
General chit-chat
Help Users
    AkiraKurusu @ AkiraKurusu: Huh, pretty certain it just hailed tonight. That's rare, here in Sydney; been years since the...