Hacking [POC] Removing Update Nag on EmuNAND

  • Thread starter Thread starter Hiatus
  • Start date Start date
  • Views Views 40,832
  • Replies Replies 140
  • Likes Likes 15

Hiatus

Member
Newcomer
Joined
Oct 12, 2015
Messages
23
Reaction score
30
Trophies
0
Age
34
XP
360
Country
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,
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.
 
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 :)
 
  • Like
Reactions: Zidapi
I think you just need to use free multi patcher to remove the update no ?

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 >_<
 
  • Like
Reactions: Tony_93
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.
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?
 
  • Like
Reactions: Zidapi
Finally someone who tell us how to remove update nag on emunand! I'm getting really tired of it on my N3DS.
 
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.
 
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.
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
 
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?
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"
 
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.
 
@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, , Reason: got it working.
  • Like
Reactions: Hiatus
If your sys/emu is linked you just need to clear it from sysnand.

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)
 
Did this one week ago, and I had no update nag since then, thanks OP. :)

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)

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.
 
  • Like
Reactions: Hiatus
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)
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,
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?
 

Site & Scene News

Popular threads in this forum