There's not really a way to ensure a NAND backup has a (working!) exploit installed. I personally think it would be better to have a separate exploit uninstaller, anyways. There's a script for exploit uninstallation written by me somewhere on the web (can't even find it myself right now). Additionally to fixing the NATIVE_FIRM, you'd have to fix the secret sector.
It's about the target audience for these scripts. Someone who knows their way around the 3DS and GM9 will have an easy time fixing anything from ntrboot. Someone who has not... will perhaps run this script (cause, who doesn't want "safe"?) and be surprised by the results.
OK, I see your point. Maybe we should call it exploit-protecting restore? I'm somewhat of the "if they've got the tools to fix it, let them make the mistake and learn from it" mindset, but I have no objections to the scripts in their current form.
I was less concerned about verifying that a NAND image had a working exploit (this is something I'd imagine the user would probably already know, having performed the install) so much as verifying it was OFW (I was blindsided by the fact GW didn't update the firm partitions -- what everyone was saying at the time was that EmuNAND was a 1:1 NAND copy, so I thought it would work, but I got a lovely black screen). Then again, FIRM protection has been removed from GW since before 11.x came out. The chances of an EmuNAND with mismatched firms existing in the wild (especially in GM9 naming format) are probably between slim and none.
Yeah, I include your scripts for returning to retail in my AIO already. Actually, I probably would have pulled the lines for the "full retail" script straight from them, and added a comment crediting you for that part of it (no reason to reinvent the wheel) if it was possible. I made a second version of the N3DS one. It automatically replaces the secret sector with "secret_sector.bin" on the card (after checking it's SHA) instead of checking the one on SysNAND. I also slightly modified the original to say "run the other script" if it fails at the part where it checks the secret sector on SysNAND. Also, your originals specifically referenced Sighax, but they work just fine for returning to retail from A9LH as well, so I changed the language a bit to reflect this. I can upload a copy if you'd like to take a look. They've been very useful for restoring test systems to retail for testing my install scripts. I can literally just use SysUpdater to put the system on any version I want to test with, then run those to make it legit retail on that version. A real time saver. I also have them delete the temporary copy of NF (having to hit A to overwrite got old fast).
Attachments
Last edited by Kazuma77,