Glossary of Common 3DS Hacking Terms

Discussion in '3DS - Tutorials' started by daxtsu, Feb 10, 2016.

  1. daxtsu

    daxtsu GBAtemp Guru

    Jun 9, 2007
    Since we don't seem to have a central location of common terminology, let's start one.

    Disclaimer: Some terms like "CFW" are debated every now and then, but this is not the thread for that, so please keep such discussion for other appropriate threads. The terms here are being described as they occur on this forum, and not what they mean in other console hacking scenes, or what they "ideally" mean.

    Note that I am trying to keep this glossary from becoming too technical, so if you are an advanced user cringing at some of the descriptions I've given, well, I tried my best. It's not always easy to write the layman's version. This is also not going to be a thread for linking to tutorials or how to do any of these things.

    Now for the actual list:

    1. EmuNAND/Emulated NAND/redNAND/redirected NAND/sdimage: These are all terms for the same thing. They refer to running the 3DS' OS (Operating System) from the SD card slot of your 3DS, instead of the 3DS' internal flash memory (called NAND). It provides a safer environment for experimenting with system components as well as running the latest games, while still keeping your hacks.
    2. SysNAND/System NAND/physNAND: This refers to the 3DS' internal flash memory (and/or the OS itself, when it's first running/you're not in emuNAND). If you're not running emuNAND, you're in sysNAND.
    3. Linked/Unlinked NANDs: These refer to a special relationship between emuNAND and sysNAND.
      1. Linked NANDs: When a user first creates an emuNAND, it is considered to be "linked" to the sysNAND it was created from. This means that the emuNAND will share the same programs, save data, etc., installed into the "Nintendo 3DS" folder on the SD card. This saves space, but also creates a "bug" where games and applications need to be unwrapped from presents on every boot.
      2. Unlinked NANDs: After creating an emuNAND, many users will "unlink" their emuNAND from their sysNAND, which means that the emuNAND will use its own separate data in the "Nintendo 3DS" folder on the SD card. This unlinking process happens by either using the homebrew TinyFormat (which preserves NNID information, and does not remove SD card data), or by going into the System Settings application and running the system format through there (NNID information is lost along with SD card data). Unlinked emuNANDs use more data, due to no longer sharing folders with sysNAND, but do not have the present "bug".
    4. Downgrade: This refers to a process which ends up bringing the system firmware (sysNAND usually) down to an earlier/older version, hence the term "down"grade, instead of "up"grade. How it's done varies greatly depending on the sysNAND's version.
    5. Update nag: This is a message displayed on the 3DS system when the currently running firmware is too low for whatever the user is trying to do, instead prompting the user to update to continue. It has multiple known forms:
      1. Web browser update nag: Starting with firmware 9.9.0-26, Nintendo added a browser update nag to try and get people to update their firmware to the latest version, in order to use it again.
      2. Online services update nag: Starting at the end of January 2016, Nintendo added a firmware update nag when trying to go on Nintendo's online services, such as the eShop, Friends List, Miiverse, or online gaming.
      3. Spotpass update nag: This will show up if your running firmware isn't the latest, and you put the system into sleep mode with WiFi turned on.
      4. Game cart update nag: If you try to run a new game on a firmware that's too old, the game will ask you to update the system firmware.
      5. Ironfall update nag: Starting with firmware 10.4, if the game Ironfall Invasion isn't on the latest version from the eShop, it'll refuse to start and ask you to download the newest version from the eShop.
    6. CIA: This stands for CTR Importable Archive. It's like a WAD file from the Wii days; it's just a container that contains game files or system firmware updates. Installing these will either install a game (to the SD card) or parts of a system firmware update to your 3DS' NAND (if on emuNAND, then it'll obviously install to the SD card's emuNAND).
    7. .3ds: These are raw cartridge/gamecard dumps from retail-purchased games. They're typically used by flash carts like Gateway or Sky3DS, but have other uses, such as being converted to CIA format for being installed to the SD card.
    8. BBM, DevMenu, FBI, NASA, BigRedMenu: These are all CIA "Managers" which can be used to install or delete CIAs from SD or NAND. Their exact features or lack thereof won't be discussed here.
    9. NNID: Nintendo Network ID. This the account you use to purchase things on the eShop, or post on Miiverse.
    10. N3DS/New3DS: "New" 3DS. As in, the model that Nintendo released in late 2014 with Super Stable 3D, the C-stick, and ZL/ZR buttons, and an 804Mhz CPU speed.
    11. O3DS/Old3DS: "Old" 3DS. Any 3DS model that isn't a "New" 3DS and runs at only 268MHz. This terminology includes the 2DS, usually.
    12. NATIVE_FIRM/FIRM: This is a more complicated term, but to put it simply, it is the "kernel" of the 3DS operating system. Nearly every firmware update updates this as well, and as time goes on, games require newer and newer versions of this to function correctly. Having a sysNAND or emuNAND on a certain version does not necessarily mean that NATIVE_FIRM matches or was updated. Do not confuse the two (saying "I'm on emuNAND 15.5" doesn't always mean you have FIRM 15.5 as well).
    13. AGB_FIRM: This is similar to NATIVE_FIRM, except it is used instead of NATIVE_FIRM when the 3DS is running GameBoy Advance games. It reboots the 3DS into "GBA mode" so Ambassador games (and Ambassador-injected GBA games) can run. This is NOT an emulator!
    14. TWL_FIRM: Like AGB_FIRM before it, TWL_FIRM is like NATIVE_FIRM, but it reboots the 3DS into "DS Mode" or "DSi Mode" to run DS retail cartridges/flash carts, or DSiWare software.
    15. Hard mod/NAND mod/hardmod/NANDmod: These are all interchangeable terms for one thing, which is when the user (or someone the user hires) solders wires and an adapter port to the 3DS, in order to gain access to the internal flash memory. It's used for making backups, restoring backups, and in some cases, doing a downgrade without a backup (10.4-10.6).
    16. Signatures disabled/sig patching/sig checks: The 3DS refuses to install or run firmwares, games, etc., that aren't considered to be "authentic" by Nintendo. By disabling these checks, it allows users to install whatever they want without Nintendo's rules.
    17. CFW: Short for Custom FirmWare. While this term can be debated until the cows come home, in the 3DS scene, it typically means when you're running NATIVE_FIRM with signatures disabled. CFWs also typically provide emuNAND in conjunction with sig checks disabled, to be able to run newer games along with homebrew, all in the same environment.
    18. MSET/MSET exploit: It depends on the context. MSET by itself usually refers to the System Settings application. MSET exploit refers to a bug old versions of the MSET app (6.0 and below) had, which could be used to hack the system quite easily.
    19. *hax: This refers to one or more (or even all) of the various homebrew hacks below. It uses an asterisk to indicate a wildcard (meaning you can fill in the blank basically). They are all used to run homebrew or boot CFW.
      1. MenuHax/ThemeHax/ShuffleHax: These are all flavours of MenuHax, which is an exploit in the Home Menu, available on firmwares 9.0-10.5. They crash the Home Menu when the exploit is triggered, instead launching you into a homebrew environment.
      2. SmashHax/SmashBrosHax: This is an exploit used in the game Super Smash Bros. For 3DS, used to run homebrew on a New 3DS.
      3. NinjHax: This is an exploit used in the game Cubic Ninja. It was the first 3DS game cartridge-based exploit released to the public.
      4. OoTHax/OoT3DHax: This is an exploit used in the game The Legend of Zelda: Ocarina of Time 3D.
      5. BrowserHax/StagefrightHax/SliderHax/SpiderHax: These all refer to different types of exploits in the Internet Browser, but they all accomplish the same thing: letting the user run homebrew on their 3DS via the Internet Browser.
      6. IronHax: IronHax was an exploit in the game Ironfall Invasion that had quite a long life, until Nintendo finally put an end to it with system firmware 10.4, refusing to launch the game at all if it's not updated.
    20. TubeHax/TubeHax DNS: TubeHax was an exploit in the Youtube app that allowed homebrew to launch, but it was fixed in late 2015, so now the term more often refers to the DNS. The DNS is often used on the Wii U and the 3DS for blocking Nintendo updates and update nags.
    21. Payload: This is another technical term, but basically, it's the code that gets run when one of the above *hax exploits get used. These payloads are often updated by Smealum when new system firmwares come out, or as homebrew programmers ask for new features.
    22. Franken-firmware/Hybrid firmware: These are firmwares (usually on sysNAND) that are the result of failed downgrades, or updating or downgrading parts of the system that don't end up matching the rest. It's called Franken in reference to Frankenstein's Monster.
    23. Coldboot: This refers to booting straight into a homebrew environment (whether it's CFW or the Homebrew Launcher) right after hitting the power button. It comes in two forms:
      1. MenuHax: This is the most common way of coldbooting. As described above, it crashes the Home Menu soon after you press the power button, and drops you into boot.3dsx, which is typically used to launch the Homebrew Launcher, or CFW.
      2. A9LH/ARM9LoaderHax/K9LH/Kernel9LoaderHax: Describing this in its entirety is beyond the scope of this glossary. However, this hack boots at an even lower level than MenuHax, exploiting the console a few moments after hitting power, instead of waiting for the Home Menu to come up (think BootMii from Wii). Installing it is riskier and more difficult than MenuHax, but most of the install process is automated now. Kernel9LoaderHax is the "technically" correct term for it, but the community generally uses both A9LH and K9LH interchangeably.
    24. OTP: One Time Programmable. It's an area of the 3DS bootroms that contains console specific info. Think of it like the DNA of your specific 3DS. It's used in A9LH and in a few other things in NATIVE_FIRM.

    If you think there are more that should be added, or have corrections, feel free to post.
    Last edited by daxtsu, May 5, 2016
    sudo_wudo, Zidapi, Jacklack3 and 21 others like this.
  2. CoolFangs

    CoolFangs Member

    Dec 14, 2014
    United States
    Great list! Should add the various *hax names, and possibly payload as well.
  3. daxtsu

    daxtsu GBAtemp Guru

    Jun 9, 2007
    *hax, their corresponding names, and payload would be good, yes.
  4. Red9419

    Red9419 GBAtemp Advanced Fan

    Apr 17, 2014
    This should be stickied
    Jacklack3 likes this.
  5. daxtsu

    daxtsu GBAtemp Guru

    Jun 9, 2007
    It's still a work in progress, but I think that covers just about everything we usually talk about.
  6. Darkyose

    Darkyose Mysterious

    Jan 26, 2016
    United States
    Home Alone Somewhere.
  7. Intronaut

    Intronaut An star maker

    Nov 18, 2014
    Cote d'Ivoire
    Great: you should add these terms: entrypoint, arm11, arm9, usermode exploit, kernel exploit and exploit.
    LinkSoraZelda and Returnofganon like this.
  8. Potato hoarder

    Potato hoarder Hoarder of Potatoes

    Feb 2, 2016
    Toronto, Ontario, Canada
    Frankenstein was a scientist. The green guy with bolts in his head was called "Frankenstein's monster" .-.
    Nightwish likes this.
  9. spoonfood

    spoonfood Newbie

    Jan 26, 2016
  10. Elaugaufein

    Elaugaufein GBAtemp Regular

    Jan 26, 2010
    The Linked NAND unwrapping "bug" doesn't happen if you use a MenuHAX variant to launch CFW (since you never enter into the SysNAND home menu, which is where the ticket.db gets checked and "fixed").
  11. Stecker8

    Stecker8 Plug

    Oct 9, 2015
  12. Slattz

    Slattz Easygoing Fairy

    Nov 21, 2015
    Why isn't bricked here :lol:
  13. Seita

    Seita GBAtemp Advanced Fan

    Oct 4, 2015
    Yeah. Soft brick and Hard brick. Maybe also Recovery Mode.
    Slattz likes this.
  14. Ev1l0rd

    Ev1l0rd (⌐◥▶◀◤) Knight of Void

    Oct 26, 2015
    Site 19
    I think that you should also add the term "freehax". (It stands for *hax that one can freely obtain without buying a game. Ironhax, browserhax, smashax (it worked with the demo) and themehax were this.)
  15. hobbledehoy899

    hobbledehoy899 GBAtemp Addict

    Nov 13, 2015
    Piracy should be included too...;)
  16. daxtsu

    daxtsu GBAtemp Guru

    Jun 9, 2007
    Well, I'm not sure if I should continue updating this since the wiki page was pointed out. Shouldn't we just update the wiki instead?
  17. TheDarkGreninja

    TheDarkGreninja How could you hate that face?

    Aug 25, 2014
    On his bed
    I'd think you should update this since this is where most noobs go.
  18. daxtsu

    daxtsu GBAtemp Guru

    Jun 9, 2007
    I suppose I can. I'll eventually stick in OTP, A9LH/ARM9LoaderHax, and terms like brick.
  19. LinkSoraZelda

    LinkSoraZelda GBAtemp Advanced Maniac

    Aug 12, 2015
    United States
    Land of the Rising Orange
    Brick: usually the end result of a failed downgrade or corrupt NAND. May or may not be recoverable through endusers depending on brick type.
    Softbrick- a crash or inescapable hang at the start of loading the HOME Menu. Since it isn't possible to bypass the black screen since it is hanging, the user has to reboot the system in a special mode for it to repair itself.
    Hardbrick- corrupt system files that cause the system to (usually) be permanently ususable. It's the equivalent of the 3DS loading, well, nothing upon boot. It isn't there. Can be fixed through a hardmod or in some cases, an early exploit such as arm9loaderhax or boot9strap.
    userland: limited 'mode' where a program has limited functions.
    Kernel: full processor control - meaning almost anything on the console can be controlled and manipulated.
    Arm11: primary processor for most gaming and program related tasks. Usermodes have two variations; kernel and userland, and same goes for arm9.
    Arm10 - when you discover an exploit when you want to overhype noobs (it doesn't exist)
    Arm9 - basically a reserved processor from the original DS. It was used for 3D graphic processing then, but now is primarily used for security reasons. Since this is not really used for manipulation, ARM9 userland is practically the same as kernel. Getting ahold of process9 is getting ahold of the entire system, top to bottom.
    Last edited by LinkSoraZelda, Jul 22, 2017
  20. Plailect

    Plailect GBAtemp Advanced Fan

    Jan 30, 2016
    United States
    I'm working on a new guide, do you mind if I include this list (or a portion of it)? With credit of course.