Official [Release] GodMode9 - All Access File Browser for the 3DS

Discussion in '3DS - Homebrew Development and Emulators' started by d0k3, Mar 22, 2016.

  1. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    Are you sure you've selected the right kind of file? Do you have correct support files? You may need a seedb.bin, and/or enc/decTitleKeys.bin to decypt stuff. Grab an aeskeydb.bin for good measure, too.
     
  2. Larsenv

    Larsenv RiiConnect24 Developer

    Member
    576
    494
    Sep 28, 2013
    United States
    Texas
    Yes, I have all of those.

    @d0k3 Could you please help? I've read the README, and it says "Press A on the file you want decrypted". I did that, no option to decrypt it (the .app file with the data) shows up.
     
  3. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    You need to provide more info if you want help. Did you rename the files? Not provide all files you downloaded? You need a .tmd or .cetk file, not only the content file. What is the file you want to decrypt called, and what else is in the folder?
     
    SirNapkin1334 likes this.
  4. Kazuma77

    Kazuma77 GBAtemp Maniac

    Member
    1,008
    416
    May 11, 2008
    United States
    OK, I'm on it. Should have started two hours ago. I knew better. I had already seen Fox ruin "Rocky Horror" after all. One of the biggest punch lines in everyone's favorite holiday movie got pulled for political correctness, argh. No "Deck the Harrs" in A Christmas Story? They might as well have redone Caddy Shack without the pool scene.
     
    Last edited by Kazuma77, Dec 18, 2017
  5. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    Alright, thanks a lot! Planning to add elif after this commit makes it into master. labelsel is also in grasp.

    And, maybe the recursive for can be a thing, too. A word of warning for that, though. There is basically no system in existance that can do dir recursion to an unlimited depth. It will be enough so that the limit is not reached on a normal system, though. Unsure what to do when that limit is hit (error message?).

    Also,another idea I had - you disabled preview in your scripts, leaving the upper screen in the ugly "preview off" state. What about being able to customize the text there, or even display graphics from a PCX image instead? I'll still need to look into the possibilities (PCX may again mean a slowdown), but is that something you'd use?
     
  6. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    If the preview was disabled, I'd like it to just show where you were in the filesystem, like in older GM9. (The only version I can think of is 2.7.0(or 2.7.3, can't remember which))
    A small animation would be cool, like for his new settings script it could be a few cogs turning, or for his swap chainloaders it could show Luma turning into Rei, etc.
     
    Last edited by SirNapkin1334, Dec 18, 2017
  7. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    Animated gfx? Very, very unlikely.

    I've actually got something for you to test...
    https://f.secretalgorithm.com/W9oAi/godmode9-v1.4.3-73-g671039b8-20171218155052.zip

    This should hide all those crap files in your filesystem. Will not make it into the release, but it's activated via make HIDE_HIDDEN=1.
     
    SirNapkin1334 likes this.
  8. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    Actually, just about a week ago I built a windows pc. I don't need it, but I can test it. My recommendation is to add a button in the Home -> More... Menu to remove all hidden files currently on the SD.
    Also, please add native EmuNand restore support, as well as native full SysNand restore support. I'd like to be able to select my EmuNand backups and simply press 'Restore EmuNand' instead of having to use a script that also for some reason shows SysNand backups as well. Along with that, I'd like the same thing, except for full SysNand restores.
     
  9. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    -_-

    ... were do I start....

    I find it acceptable to have a script to remove these trash files, but I won't further clutter the GM9 menu for just that. An option like that will never make it into the menu. And that even ignores all the other things wrong with just indiscriminately deleting these files.

    Also, what do you mean by "native"? A safe SysNAND restore is a special routine that protects critical areas of your SysNAND when restoring. An EmuNAND has no critical regions. A regular restore is just a copy of the NAND backup to the respective drive (S:/ for SysNAND, E:/ for EmuNAND).

    If you want to make it work more like D9, that's what the script subsystem is for. Scripting is pretty basic, you can teach that to yourself easily. Good scripts that fulfill common needs can also be added to the official ones. Or you can build your own scriptrunner and even release that.

    GM9 can't distinguish SysNAND and EmuNAND backups because there is no difference. This does not conflict with my previous statement about SysNAND having critical regions, but not EmuNAND - that's because these areas are only critical because they are on SysNAND.
     
    Last edited by d0k3, Dec 18, 2017
  10. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    Sorry, by native I meant without scripts. I.E. select your backup, and there is the Restore SysNand (Safe) and the Restore SysNand (Full). I understand scripts for making backups, but if you can do a safe restore of SysNand without scripts then why not a full restore? I hadn't realized that GM9 couldn't distinguish SysNand from EmuNand in backups, so I suppose that you should scrap that, since going simply by name is not the best idea.
    Also, is it possible to install 'standard' sighax? Are there any advantages? Sighax.com is down so, I can't figure anything out.
     
    Last edited by SirNapkin1334, Dec 18, 2017
  11. squall14716

    squall14716 GBAtemp Maniac

    Member
    1,281
    746
    May 16, 2011
    United States
    There's no such thing as "standard" sighax. Sighax is sighax.
     
  12. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    (quoted from 3ds.guide):
    'The benefits of boot9strap over other Custom Firmware launch methods are numerous, and as such it is recommended to use this guide over any other that relies on outdated software (such as menuhax + rxTools, arm9loaderhax, or even normal sighax).'
    Okay, I didn't realize that B9S was better than 'normal' sighax, but it's there (apparently).
     
  13. lone_wolf323

    lone_wolf323 GBAtemp Advanced Fan

    Member
    931
    321
    May 27, 2011
    Canada
    To myself. I always found there was B9S and sighax. B9S would be more the normal everyday install process as to where I found the term of sighax always meant the dev install of the process.
     
  14. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    Sighax actually only refers to the signature of the FIRM. We can't really create signatures that Nintendos FW will accept, except with sighax. Thus sighax allows us to run homebrew firmwares from FIRM0 (which would otherwise not be possible). B9S is a bootloader, a homebrew firm that controls the boot process of your console and is installed to FIRM0. GodMode9 is a bootloader, too, and even Luma CFW can act as a bootloader.

    You have some reading to do, @SirNapkin1334 & others.
     
    SirNapkin1334 likes this.
  15. windows_server_2003

    windows_server_2003 Advanced Member

    Newcomer
    56
    10
    Jul 13, 2017
    Japan
    Also allowing to show raw image data(used as Luma's splash screen) is nice.

    Raw image maker :
    https://xem.github.io/3DShomebrew/tools/image-to-bin.html
     
  16. Wolfvak

    Wolfvak built on new technology technology

    Member
    821
    1,070
    Oct 25, 2015
    Uruguay
    That's a dumb thing to do when you could just do
    Code:
    ffmpeg -i <input file> -f rawvideo -pix_fmt bgr24 -vf transpose=1 <output file>
    without relying on any web service... just sayin'

    The whole point of PCX was to save space on the initial RAM disk, and I suggest everyone to do the same - in any case, I could add support for multi plane PCX files, even if their compression isn't the best it's still better than having raw framebuffer dumps.
     
  17. Kazuma77

    Kazuma77 GBAtemp Maniac

    Member
    1,008
    416
    May 11, 2008
    United States
    Well, I've tried the latest versions of my scripts, including the ones for the two installers. I have added more if nesting to include most of the filesel, find, and ask commands since I last compiled them (I also added a Friends save backup option to the Activity Log Manager, so, it's the Activity Log & Friends Manager now -- it only had 6 options, and it's a one digit difference from the location of the PTM save, so, it just seemed like a natural fit). Even with all that extra nesting, I'm not seeing any issues. Everything seems to be working correctly, and the jumps occur practically instantly. I think it's good to go.

    I disable the preview because it shows even the parts that aren't getting run. The preview is great for pinpointing typos, but it shows every comment, every ERRORMSG, and now every potential branch-off, relevant or not. A nice centered app title would be an improvement (especially with the option to pick font and size). For that matter, a blank screen would be better than the current message. It almost makes it look like I'm trying to hide something. I just don't want people getting distracted or confused by comments, error messages, and skipped lines. Though speed also became a factor when I started merging things.

    Images might be nice, but I don't want to slow things down noticeably. Also, I am not really known for my artwork skills (but you can give me a tape that's mostly hiss, and what you get back will sound like a studio recording). I asked Eix about making some splash screens since you've switched to .pcx now, but I haven't heard back yet. If any graphic artists out there want to design some splash screens for my SSRs and/or the swap card, it would be greatly appreciated.

    I could make you a version that will only restore backups to where they were taken from. As d0k3 said, though, there are no genuine differences between the two. Just as there are no genuine differences between an audio-only .mp4 file and an .m4a file. I didn't do that by default because some people might want to transfer from one to the other. Still, it's only 3 lines to change (the ones with "*nand_???.bin" -- all they would need is an "emu" or "sys" after the star).

    Also, an exploit by itself does nothing. The B9S bootloader did expand on the original exploit by adding an additional exploit that provides further elevated access. I think what may be confusing you (and many others) is that this exploit was never really given a proper name (if anyone wants to start a vote to name it, I nominate "StrapHax"). I apologize if my switch to generalizing as Sighax had something to do with it. But it seemed like it would be even more confusing to keep referring to it as B9S with that no longer being the only bootloader available. As far as I know, GM9 and Luma are using the unnamed exploit as well, so, there's no "Sighax-only" payload for you to try if you wanted to (you would have to patch a CFW and install it manually, and it may not work, since most CFWs expect the full StrapHax environment).

    I hear you (or should I say, I read you ;) ). I like how the switch to .pcx has reduced the size of GM9 builds. Having a more commonly-used format is nice as well, of course. So, thanks for that. I want my SSRs to look nice, but I don't want them getting too bloated. So, if I was going to consider animations, they'd have to be small and have a minimal impact on performance.
     
    Last edited by Kazuma77, Dec 19, 2017
    Ryccardo likes this.
  18. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    703
    190
    Aug 20, 2017
    United States
    Land of Magical Elves (and indie programmers)
    So, if Luma is installed to a FIRM partition, then you could use it like GM9? I didn't know that. Also, is .firm the format that the 3DS uses for firmwares, or is it just what sighax uses?
    Also, please tell me what SSR means.
     
  19. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,698
    2,756
    Dec 3, 2004
    Gambia, The
    @Kazuma77 and @windows_server_2003 - thanks a ton!!!

    @windows_server_2003 - if you want to, you can now do a pull request for that partial string extractor command.

    Not entirely correct - you have apparently not tested PREVIEW_MODE full / quick in a while. "full" will skip over skipped blocks, "quick" will even only show commands. You may want a look at the latest commit though:
    Code:
    # elif / preview test
    
    @begintest
    
    # comment 1
    # comment 2
    # comment 3
    # comment 4
    # comment 5
    
    if ask "?set PREVIEW_MODE off?"
        set PREVIEW_MODE off
    elif ask "?set PREVIEW_MODE quick?"
        set PREVIEW_MODE quick
    elif ask "?set PREVIEW_MODE full?"
        set PREVIEW_MODE full
    elif ask "?set PREVIEW_MODE V:/GodMode9_splash.pcx?"
        set PREVIEW_MODE V:/GodMode9_splash.pcx
    elif ask "?set PREVIEW_MODE 'No preview for you, sorry'?"
        set PREVIEW_MODE "No preview for you, sorry"
    end
    
    if ask "Try this again?"
        goto begintest
    end
    And, yes, I added elif.
     
    GilgameshArcher likes this.
  20. Larsenv

    Larsenv RiiConnect24 Developer

    Member
    576
    494
    Sep 28, 2013
    United States
    Texas
    I figured.
    • I downloaded the game with Wii U USB Helper, in NUS format.
    • The game was Miitopia.
    • Yes, the .tmd and .cetk is in there, 00000000.app and 00000001.app.
    • I tried moving the game to other folders.
    • I have a seeddb.bin, encTitleKeys.bin, decTitleKeys.bin and aeskeydb.bin from good sources.
    • There are no special options when I select the biggest .app file (00000000.app), 00000001.app is just a small file.
    • If I try building a CIA when going on the TMD or ticket options (I forget which one that's under), it fails.
    • The keys are in the correct place, gm9/support.
    • I didn't rename the files.
    • All of the files are named as they were from NUS.
    • Nothing but the NUS contents are in the folder.