Customize your System Settings app

Discussion in '3DS - Tutorials' started by schrmh, Dec 30, 2017.

  1. schrmh
    OP

    schrmh Member

    Newcomer
    37
    14
    Jun 5, 2015
    Gambia, The
    Some useful information:
    The first version gbatemp version of this guide was written by Samplasion with information by derberg (Discord names); now derberg is maintaining changes.
    (Click for our Documentation)
    (Click for Discord discussion)
    It is somewhat similar to the Home Menu costumizing process described on dungeonfire.tk (if you want to help the customizing community you can also find a Discord link there).
    Also a note by derberg: (removed now, cause confirmed in post #7)
    Also note that there is still no full customization. You can only change visual parts of what is already there: You can hex edit positions of elements and change their look (after this tutorial you will be able to do something of this by using our linked docs) or replace images with tools like png2bclim or Kuriimu or change Text with e.g. the reloaded MSBT Editor or Kuriimu. But we still don't know how we can replace what elements do on a click and we can't add completly new things.

    Actual start of the tutorial:
    (after setting it up editing & testing a change may take less than a minute (if you use luma), cause you can restart at Macrostep 3 point 6 then)

    DISCLAIMER: I am not responsible if your console bricks. You assume your responsibilities by following this guide.

    This guide is about how to edit the System Settings (mset) app.
    Requirements

    • A 3ds with GodMode9
    • The Low TID of the System Settings app corresponding to your region
    • Asia81's HackingToolkit9DS (curently V11) (If you take Macrostep 1a you don't need it; or if you like it hard take the not fully documented 1b)
    • A Hex editor (Samplasion recommends HxD; derberg uses Hex-Editor MX Hex Workshop; feel free to recommend us better ones)
    • DarcTool3DS 5.5 or DSDecmp(GUI version included in 3DSExplorer) or maybe nlzss (untested yet) or EveryFileExplorer (only for decompression, so you need a plugin for EFE or a second tool for compression)(I recommend DarcTool3DS, but please recommend us a better alternative for those tools; it works, but yeah.. Hope GodMode9 will implement LZ11 decompression and luma will implement LZ11 compression, cause this would save time..)
    • A computer
    • A functional brain (according to DeKay)
    Macrostep 0: enabling Luma's Game Patching

    1. Boot your 3DS while holding Select to open Luma's Config Menu
    2. Enable "Enable game patching"
    3. Press Start to save
    4. Turn your 3DS off
    Macrostep 1: dumping the System Settings app

    1. Boot your device and enter GodMode9 by holding Start
    2. Navigate to [1:] SYSNAND CTRNAND
    3. Navigate to title
    4. Navigate to 00040010
    5. Navigate to the folder corresponding to the System Settings app Low TID you took earlier
    6. Navigate to content
    (this may be moved into another Macrostep in the future, so that's why they are not named 7. and 8. anymore (when 1b is working), but currently you still need to do it: )
    1. Press (A) on the .tmd file → TMD file options... → Build CIA (standard)
    2. Turn your 3DS off and go to Macrostep 2 (or go to Macrostep 1a instead which is faster for Luma users!)
    Macrostep 1a
    Macrostep 1b. You don't need this if you don't care about "no fragmention" cxi and cia rebuilding. Go for luma or wait for PackHack instead of this, it will take much more time. Also this is not fully documented, It is an alternative for Macrostep 2 + 2a + 1a.

    Macrostep 2: extracting the RomFS

    1. Insert the SD of the 3ds into your computer
    2. Extract HackingToolkit9DS.zip on your computer
    3. Navigate to gm9/out/
    4. Copy the 00040010[LowTID].cia file to the /PackEnglishV11/PackHack/ folder
    5. Rename the .cia with something short, like mset.cia
    6. Run the SetupUS.exe file
    7. Run the HackingToolkit9DS.exe file
    8. Type CE and press Enter
    9. Type the name you used in step 5 without extention (.cia)
    10. Wait some seconds and press a key
    11. Go to the ExtractedRomFS folder (if you don't have it, go to macrostep 2a)
    Macrostep 2a
    Macrostep 3: editing base_LZ.bin (or any other binary from System Settings)

    (Of course you just need one tool for decompression and one for compression. Just listed a few ones after someone had problems with DarcTool3DS, which is the fastest one of those. Also I have only looked wether the alternative tools change the size of base_LZ.bin to 158KB, so I don't know wether they decompress correctly. So at first try it with DarcTool3DS)
    Decompression with DarcTool3DS
    Decompression with 3DSExplorer
    Decompression with EveryFileExplorer
    Edit the decompressed base_LZ.bin with an hex editor. (Click for our Documentation)
    (make a backup before you compress if you want to edit more later, cause multiple compression & decompression of one file may not work)
    Compression with DarcTool3DS
    Compression with 3DSExplorer
    Macrostep 4: loading the custom .bin with Luma

    1. Navigate to SD:/luma
    2. Create a new folder called titles
    3. Create a new folder called 00040010[LowTID]
    4. Create a folder called romfs
    5. Copy the base_LZ.bin file to the newly created romfs folder
    6. DONE! Now you can show us your modifications. (I want New Year themed ones, please.)
    Credits

    Feel free to upload images to share your own System Settings customizations!
    Also feel free to recommend me any other method/tool
    (+example, please) which could replace the tools mentioned in this tutorial or which may be helpful for editing things (for real, yesterday I messed with so many (outdated) tools and I don't want to mess with any more without knowing that there is a high success chance with it...).


    Example pictures
     
    Last edited by schrmh, Jan 18, 2018
  2. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    989
    370
    Aug 20, 2017
    United States
    Crap Mountain
    Interesting.... Could we build a new CIA with the romFS and install that, deleting the System Settings beforehand? I actually tested this-deleting system settings with FBI and installing a system settings from a different region (dumped from my region changed EmuNand), and it worked. I restored a NAND backup made beforehand just in case, but it appeared to have worked. I'd heard of people being bricked by accidentally deleting system settings, but my system worked just fine without it.
     
  3. schrmh
    OP

    schrmh Member

    Newcomer
    37
    14
    Jun 5, 2015
    Gambia, The
    Currently you can't create a CIA with PackHack. Out there may be some other tool out there (ctrtool?). At least the HMRT pack for Home Menu Costumizing can create a CIA for the Home Menu.

    There were people in the past which tried to delete as much system titles as possible. I don't really know for the system settings app atm, but I think I managed to do this back then in EmuNAND.
    Whatever.. Currently with b9s and luma my system settings app doesn't work without the patches from LayeredFS - I think I broke it yesterday by installing a broken cia while I were testing, haha.
     
    Last edited by schrmh, Dec 30, 2017
  4. Eix

    Eix GBAtemp's Best Waifu (now lewd-ish)

    Member
    689
    1,285
    May 27, 2017
    United States
    Vanilmirth
    pretty cool little thing
    but you can do if 3ds side without the need for luma
    just boot to gm9 with your prefeered method
    copy the .app file for mset to somewhere
    decrypt it
    the navigate it with the hex editor to change what you want
    then save&re encrypt
    build a cia
    and make a backup of the origonal mset too
    then install the cia
    then if it doesnt work just encrypt the cia and retry
    if it still doent work then reinstall your backup and repeat
    you can really do it with any title and i find myself doing it alot
    i dont always have my laptop so i use my 3ds or vita for editing stuff (the vita is nicer for editing)
    i tried that recently
    i managed to reduce system titles down to ~20mb and still was functional (idk why i did it on my sysnand)
     
  5. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    989
    370
    Aug 20, 2017
    United States
    Crap Mountain
    That's literally exactly what I said lol
     
  6. Eix

    Eix GBAtemp's Best Waifu (now lewd-ish)

    Member
    689
    1,285
    May 27, 2017
    United States
    Vanilmirth
    yeah but i attempted to explain-ish how to do it 3ds side
    NASA is the better cia installer
     
  7. schrmh
    OP

    schrmh Member

    Newcomer
    37
    14
    Jun 5, 2015
    Gambia, The
    Yeah, I know, but Packhack V11 can't build one currently. Feel free to share another way and I will mention it in the OP.
    Also step 2a and 3 are really not necessary. Tested that out. (EDIT: In a new edit of the OP you can't see it anymore but in lines 3-5 of the original OP I had written this: ,,Maybe you can skip 2a and 3 by following the mounting part from this tutorial: https://gbatemp.net/threads/title-dumping-and-file-extraction-using-godmode9-1-0.465427/ and then copying the base_LZ.bin from there, but I need confirmation for this." . And with this post I just confirmed my guess.)
     
    Last edited by schrmh, Dec 31, 2017
  8. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    989
    370
    Aug 20, 2017
    United States
    Crap Mountain
    CTRTool (or 3DSTool, can't remember which one) can rebuild the romFS, I think they can also build CIAs. You can always mount a CIA with GM9, grab the base_LZ.bin, edit it, and then replace it, and if needed rebuild the CIA. You can do a lot of this with GM9, I believe. That's what I love about GM9. It can do almost anything. Hell, if you have GM9, you don't even need Boot9Strap. If there was a contest for the best 3DS homebrew application based on features and not people's opinions, GM9 would win hands-down.
     
    Eix likes this.
  9. Samplasion

    Samplasion Newbie

    Newcomer
    8
    0
    Jun 23, 2016
    Italy
    Joycon's memory
    You cannot decrypt a file from GodMode9. There isn't the option in the menu, or elsewhere. The last thing you can do with gm9 before going on the computer is extracting the base_LZ.bin.
     
  10. Eix

    Eix GBAtemp's Best Waifu (now lewd-ish)

    Member
    689
    1,285
    May 27, 2017
    United States
    Vanilmirth
    uhh
    please atleast open gm9 before you type
    20171231_084039.jpg
     
  11. Samplasion

    Samplasion Newbie

    Newcomer
    8
    0
    Jun 23, 2016
    Italy
    Joycon's memory
    Sorry, I should control better. But I had gm9 open when i sent the message
     
  12. Eix

    Eix GBAtemp's Best Waifu (now lewd-ish)

    Member
    689
    1,285
    May 27, 2017
    United States
    Vanilmirth
    find a app file (cia app 3ds cxi cci etc...) pres a on it and it will give you different options
    in there you get options that are specific to app files

    — Posts automatically merged - Please don't double post! —

    only thing gm9 is missing is text editing
    thats why i prefeer to send my files to my vita and edit in vitashell :P
     
  13. Jacklack3

    Jacklack3 ( ゚ヮ゚) buddie was here

    Member
    1,678
    2,220
    Oct 6, 2015
    Canada
    In your basement Dick Size: 5 meters.
    We've gotten into the stage of homebrew where we're now just editing the OS since we've done everything.
     
    SomeGamer, Samplasion and Eix like this.
  14. Samplasion

    Samplasion Newbie

    Newcomer
    8
    0
    Jun 23, 2016
    Italy
    Joycon's memory
    lol it's true
     
  15. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    989
    370
    Aug 20, 2017
    United States
    Crap Mountain
    You may need support files to do certain things. To decrypt CIA's, I think you need a seeddb.bin and enc/decTitleKeys.bin
     
  16. schrmh
    OP

    schrmh Member

    Newcomer
    37
    14
    Jun 5, 2015
    Gambia, The
    From this I haven't read out that GodMode9 had an option for that. Thanks for showing the pic in #10 now for clarification. I found the option, will look into that and may edit the OP.
    _
    Also this is a good point to clarify that I may won't try anything if I can't come to a success without trying out much if I receive just a mention of a tool without an example (exception may be computer tools which have a easy GUI). This is why I won't mess with ctrtool nor 3dstool anymore just to get something like cia rebilding done.. Also PackHack may receive an update and a cia isn't needed anyways if you use luma. And a cia installation for each single change would just slow down the whole changing & testing process a lot.


    I just wonder why it isn't that popular. I mean there already was some documentation for changing things in the Home Menu. This is basically just the same for the System Settings app.
    Well, whatever. As mentioned in the op we know only how to change the visual look of existing elements (and I think their positions, but that is not documented on our doc yet).
    In the DS era it was easier to change more things than that. I mean people just injected new things into the DS menu, removed elements and changed its look or completly replaced it with e.g. a wireless controller app (CTurt did that, lol.. His github is also a good starting point if you are interested in custom firmware for the old DS. Also there is some other site where you can find some CFW for downloading, but I forgot its name (DS something)).
     
    Last edited by schrmh, Dec 31, 2017
  17. SirNapkin1334

    SirNapkin1334 Renound Aritst

    Member
    989
    370
    Aug 20, 2017
    United States
    Crap Mountain
    yes, but a cia installation would be a lot easier
     
  18. Jacklack3

    Jacklack3 ( ゚ヮ゚) buddie was here

    Member
    1,678
    2,220
    Oct 6, 2015
    Canada
    In your basement Dick Size: 5 meters.
    I think it's because it looks too complex and risky.If it was just some app where you type in your text and it does it for you then I bet people would be going all over this.
     
  19. Samplasion

    Samplasion Newbie

    Newcomer
    8
    0
    Jun 23, 2016
    Italy
    Joycon's memory
    But the first advice before doing something like this is:
    Also, this method is 100% safe
     
  20. Jacklack3

    Jacklack3 ( ゚ヮ゚) buddie was here

    Member
    1,678
    2,220
    Oct 6, 2015
    Canada
    In your basement Dick Size: 5 meters.
    Oh I know that you'll be perfectly fine in the end, it's just for others who are perhaps beginners it looks a bit scary. Wouldn't you be a bit worried if you had to edit a core module of your system using a hex editor? Of course you could simply restore your nand and boom everythings fine but it's still kind of spoopy.