[POC] Removing Update Nag on EmuNAND

Discussion in '3DS - Flashcards & Custom Firmwares' started by Hiatus, Oct 12, 2015.

  1. Hiatus
    OP

    Hiatus Member

    Newcomer
    23
    30
    Oct 12, 2015
    United States
    I had these instructions lying around in a text file on my computer for months now and I'd just like to share it with you guys :)

    Note: I'm afraid this is a bit too complex for some users, more advanced users are best suited for this.

    This is a procedure that I had created for getting rid of the dreaded update nag in EmuNAND through constant reviewing of 3dbrew and trial and error. (I still don't fully understand why it works, so some steps could be unnecessary or could potentially hold implications. Use at your own risk!) From what I understand, the import.db is a database file that stores a list of titles that are about to be installed (such as pre-downloaded updates). This is done so the entires from import.db can easily be copied over to the title.db. I noticed when the 3DS auto-downloads an update it will grab all the update data and store them as titles in the NAND, but not actually install them. It will then write to the import.db, adding in entires for the update. With this proof of concept, by replacing the import.db with an old one from before the update nag and removing all the titles the 3DS downloaded for the update it will think there isn't an update to install, thus removing the nag. I have preformed this procedure on my N3DS 9.5 EmuNAND to remove the nag months ago and still suffer no issues to this day.

    What's needed:
    • An old EmuNAND backup .bin created prior to the update nag showing up (this will be referred to as the "old EmuNAND backup")
    • Your current EmuNAND .bin (this will be referred to as the "new EmuNAND backup")
    • Xorpads for decrypting the .bin files
    Start off by decrypting both the old EmuNAND backup and the new EmuNAND backup (there are several guides and tools that allow you to do this). Then mount the old EmuNAND backup and you should find yourself in the NAND root. Go into the "dbs" folder and you should find an import.db file. Copy this file and inject it into the new EmuNAND backup by replacing the import.db found in the new EmuNAND backup.

    Cleaning up:
    This probably isn't absolutely necessary as the 3DS no longer recognizes there to be anything to install/nag about now that we have the import.db replaced, but there are still a bunch of files the 3DS had downloaded and stored for the now aborted auto-update. To clean up the mess made, go into the /titles folder and search for files that were modified/created on a date closest to the time you began getting update nags and deleting them. (This is pretty easy on a Mac, I am unsure about Windows/various Linux distros)

    Finishing up:
    Confirm the 3DS no longer sees the pre-downloaded update data by taping on "System Update" in System Settings. It should prompt you to connect to the internet to update, rather than saying the update can be preformed without an internet connection.

    I haven't seen any implications from doing this import.db swap so far. Perhaps the age of the old import.db has something to do with it. Again, this is at your own risk. If there ever is a problem, feel free to restore an EmuNAND backup. There should be no bricks resulting from this as it is only modifying EmuNAND.

    Hope you guys were able to follow this, as these were originally intended to be for my own internal use. I have many more of these little procedures I've created to make EmuNAND usage just a bit less annoying. Whenever I get the time to polish them up I'll be sure to post it here! If anybody tries this, please publish your results. Given enough research and time, there should be a way to remove the update nag on EmuNAND without the need of an old EmuNAND backup.
     
    Last edited by Hiatus, Oct 12, 2015


  2. Kurt91

    Kurt91 GBAtemp Fan

    Member
    387
    88
    Sep 9, 2012
    United States
    Newport, WA
    I wonder if it would be possible to make a .CIA for this. You'd open the app, and there would be two options. One would make a copy of import.db and the other would be for when you get the update nag, and it automatically locates and deletes the update files, as well as swap the import.db file with the copy version.

    I only ask for convenience's sake, and that a simple 1-button solution seems much more idiot-proof and you're less likely to get complaints from people who somehow screw things up.
     
  3. RednaxelaNnamtra

    RednaxelaNnamtra GBAtemp Advanced Fan

    Member
    744
    633
    Dec 8, 2011
    Gambia, The
    An other way would be to have a way to boot into the recovery mode from cfws.
    This should be possible in theory, but I'm not sure if there is a knows way the devs could use.

    But nice to have informations till its possible :)
     
    Zidapi likes this.
  4. ChrisN8

    ChrisN8 GBAtemp Fan

    Member
    321
    88
    May 13, 2015
    France
    I think you just need to use free multi patcher to remove the update no ?
     
  5. RednaxelaNnamtra

    RednaxelaNnamtra GBAtemp Advanced Fan

    Member
    744
    633
    Dec 8, 2011
    Gambia, The
    It will prevent it, not remove it.
     
  6. Hiatus
    OP

    Hiatus Member

    Newcomer
    23
    30
    Oct 12, 2015
    United States
    I actually had prevent auto-download popup enabled on FreeMultiPatcher and applied the patches by pressing "start" yet I got the update nag when I walked into a McDonalds >_<
     
    Tony_93 likes this.
  7. TheShadowRunner

    TheShadowRunner I'm like you, I have no name.

    Member
    666
    197
    Mar 14, 2009
    United States
    Yes this seems like it would be the best solution. A way to trigger "L+R+A+↑+Power" but for emunand.
    Tried to do this button combo as soon as GW was launching emunand but it doesn't seem to do anything.
    By sniffing the exact command this button combo sends to sysnand, it should be possible to duplicate it for emunand?
     
    Zidapi likes this.
  8. Neptune

    Neptune GBAtemp Advanced Maniac

    Member
    1,588
    531
    Dec 7, 2003
    United States
    Internet
    If your sys/emu is linked you just need to clear it from sysnand.
     
  9. rotebrotobias

    rotebrotobias GBAtemp Maniac

    Member
    1,039
    255
    Jan 31, 2015
    Finally someone who tell us how to remove update nag on emunand! I'm getting really tired of it on my N3DS.
     
  10. wsquan171

    wsquan171 GBAtemp Regular

    Member
    GBAtemp Patron
    wsquan171 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    277
    79
    Feb 14, 2015
    China
    As we have already decrypted the emunand.bin, I assume that we don't necessarily need the import.db from the old backup of the same emunand. In case we don't have an old backup, probably any import.db from an update-nag free nand should work.
     
  11. Hiatus
    OP

    Hiatus Member

    Newcomer
    23
    30
    Oct 12, 2015
    United States
    I remember I tried to just delete the import.db and replace it with a blank file, but that just resulted in a black screen. I haven't tried using any other import.db though
     
  12. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    Doesn't FBI access those files? (Import.db and title.db) I wonder if a mod to FBI to clear the offending entries would be possible?
     
    Quantumcat likes this.
  13. Hiatus
    OP

    Hiatus Member

    Newcomer
    23
    30
    Oct 12, 2015
    United States
    I'm sure it's possible to do this entire thing through a .cia application, but I don't have the skill/time to do so right now :(. This is why I just marked this as a proof of concept, since this isn't exactly a full blown tutorial that's "noob friendly"
     
  14. RednaxelaNnamtra

    RednaxelaNnamtra GBAtemp Advanced Fan

    Member
    744
    633
    Dec 8, 2011
    Gambia, The
    I don't think that its possible to do this inside of a cia application. We need direct nand access I think. But I think adding the recovery mode or the cleanup to a cfw would be possible.
     
  15. 20mark

    20mark GBAtemp Regular

    Member
    262
    64
    Mar 25, 2011
    Italy
    Italy
    @Hiatus, altough not n00b friendly, i followed your guide and replaced import.db file. checked the old emunand and last emunand import.db and they're the same size.
    is it correct?

    also, i cant go on after i replaced the file, how should i import back the decrypted emunandfat16.bin ? they're different in size, 1.078.453 bytes for the decrypted vs 1.269.760 bytes for the encrypted.

    EDIT:

    i. am. so. freaking. dumb.

    i have the solution under my eyes, to be specific the "inject" radiobutton on 3DSFAT16tool_GUI (yes im a GUI guy lol)

    however, Hiatus,injected my modified emunand back and booting(yes! its booting! i even deleted some titles folder whose modified dates were suspocious, e.g. year 2015 and all the other directories have modified date something like between years 2000-2001 dont know why!)...update nag SEEMS GONE. tried booting a ten times and ITS GONE.
    tried also to go to emunand settings, update and it tells me to connect to the internet...so i also got rid of update files sitting on my sdcard, right?

    now when i boot in emunand i always boot freemultipatcher first, to prevent from downloading update files while in standby. (it's in beta actually but i hope it will work!)


    THANKS!!!!!!!!!!!
     
    Last edited by 20mark, Oct 22, 2015 - Reason: got it working.
    Hiatus likes this.
  16. Datalogger

    Datalogger Seeking to explain the IOSU for everyone to enjoy

    Member
    415
    441
    Dec 21, 2009
    United States
    Maui
    Just to be crystal clear, this can only be done if your emuNAND is still linked, correct?
    (else there is no way to get the xorpads to decrypt your emuNAND)
     
  17. VerseHell

    VerseHell GBAtemp Psycho!

    Member
    3,067
    1,067
    Jun 29, 2014
    France
    Did this one week ago, and I had no update nag since then, thanks OP. :)

    My nands are unlinked, but the old emunand backup I used is linked to my current emunand. If you unlinked your nands by formating ththe sysnand, an old nand backup (prior the formating) should work too.
     
    Hiatus likes this.
  18. RednaxelaNnamtra

    RednaxelaNnamtra GBAtemp Advanced Fan

    Member
    744
    633
    Dec 8, 2011
    Gambia, The
    Even if your Emunand is unlinked, the emunand uses the same xorpad, otherwise the system wont be able to read the emunand at all.
    Also on linked nands it wont help to do it only on the sys nand, otherwise the nag will stay in emunand until you remove it (I mostly use the Sysnand and I have no nag on it, but I have a nag on emunand).
     
    Last edited by RednaxelaNnamtra, Oct 22, 2015
  19. Datalogger

    Datalogger Seeking to explain the IOSU for everyone to enjoy

    Member
    415
    441
    Dec 21, 2009
    United States
    Maui
    OK, thanks for the info.
    Seems to have worked so far!
     
  20. bache

    bache GBAtemp Advanced Fan

    Member
    694
    292
    Sep 28, 2009
    Does the old emunand backup need to be on the same FW version? I have a backup from 9.2, but not for 9.5 which is what my emunand is currently on. I suppose if this wouldn't work, I could simply create a new emunand, and update it to 9.5 with sysupdater, right?