ROM Hack Editing Home Menu Icons?

gudenau

Largely ignored
OP
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,378
Country
United States
I'd like to be able to edit the icons on the Home Menu of the 3DS. I've been able to extract the files with GM9, but I'm not sure where they are or how I'd edit them.

My guess would be the hud_LZ file, but I've got no idea how to extract/edit images inside of the files.
 

Nutez

Assimilator of Lumas
Member
Joined
Jan 2, 2018
Messages
175
Trophies
0
Location
The other side of paradise.
XP
1,814
Country
United Kingdom
You should be able to find a few guides by searching this board and the tutorial one. There was also a discord server for home menu editing that may still be around but I forget.

This guy managed to actually edit an applet icon shape, but it seems they get mirrored:
https://gbatemp.net/threads/help-replacement-for-nintendo-miiverse-applet.489211/

I think this guy is/was involved with the discord server:
https://gbatemp.net/threads/complete-3ds-2ds-customization-guide.468268/

Seems a bit more up-to-date:
https://gbatemp.net/threads/editing-3ds-homemenu.500924/

Do make sure to make a recent NAND backup because if you get sloppy doing multiple trial and error edits you will end up accidentally injecting a decrypted home menu cia and soft bricking heh...
 

gudenau

Largely ignored
OP
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,378
Country
United States
You should be able to find a few guides by searching this board and the tutorial one. There was also a discord server for home menu editing that may still be around but I forget.

This guy managed to actually edit an applet icon shape, but it seems they get mirrored:
https://gbatemp.net/threads/help-replacement-for-nintendo-miiverse-applet.489211/

I think this guy is/was involved with the discord server:
https://gbatemp.net/threads/complete-3ds-2ds-customization-guide.468268/

Seems a bit more up-to-date:
https://gbatemp.net/threads/editing-3ds-homemenu.500924/

Do make sure to make a recent NAND backup because if you get sloppy doing multiple trial and error edits you will end up accidentally injecting a decrypted home menu cia and soft bricking heh...

This is pretty darn Windows-centric,

Kind of sucks.

Edit:

Thanks to WINE I got to `launcher_LZ.lz` with a sha512 of `0011ca39ea5a5510cf3abd98a9694bb1d169cf13b74f75192e02e397152850bdf585f9c0183e884d9976e8f2542aefe16b08f230975049b01343ddc3659c6c93`. What do I do from here?
 
Last edited by gudenau,

Nutez

Assimilator of Lumas
Member
Joined
Jan 2, 2018
Messages
175
Trophies
0
Location
The other side of paradise.
XP
1,814
Country
United Kingdom

gudenau

Largely ignored
OP
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,378
Country
United States
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
Let's try editing a single system title for example, Health & Safety Information.
  1. GodMode9 → 1:/title/00040010/ → Hold (R)-shoulder and press (A) → Search for titles.
  2. 0004001020021300 Health and Safety Information (CTR-N-HACE) (U).tmdTMD file options...Build CIA (legit).
  3. 1:/gm9/out/0004001020021300 Health and Safety Information (CTR-N-HACE) (U).legit.ciaCIA image options...Encrypt file (0:/gm9/out).
  4. Keep a copy of the original Health & Safety. For the second copy, rename the *.cia file simply to health.cia (no spaces).
  5. Download HackingToolkit9DS V12 and run the setup.exe.
  6. Extract HackingToolkit9DS.exe. Put this program in a separate folder called HackingToolkit9DS.
  7. Put health.cia in HackingToolkit9DS folder.
  8. HackingToolkit9DS → Write your choice: CE → (Enter) button → Write your input .CIA filename <without extension> : health → (Enter) button.
  9. Edit the .../ExtractedExeFS/icon.bin with either:
  10. LOAD SMDHC:/.../HackingToolkit9DS/ExtractedExeFS/icon.bin.
  11. example icon app edit.png
  12. SAVE SMDHC:/.../HackingToolkit9DS/ExtractedExeFS/icon.bin.
  13. HackingToolkit9DS → Write your choice: CR → (Enter) button → Write your output .CIA filename <without extension> : gudenau → (Enter) button.
    • For minor and major numbers, enter "0" for both times. If you would like to specify the version, please further below.
    • If you get errors about "vcruntime140d" or "vcruntime140d", HackingToolkit9DS requires specific debug *.dll files found from Visual Studio 2015.
    • vcruntime140d error.png

    • Because installing VS2015 eats up a lot of space and it's hard to find these days, you can instead download and place these files in the same folder where HackingToolkit9DS.exe is found.
    • For my Windows 8.1 64-bit computer, I have:
      • ucrtbased.dll - 64bit 10.0.10056.0 (1.70 MB - 8E6E4325)
      • vcruntime140d.dll - 64bit 14.0.24210.0 (128 KB - E726EE45
    • There are 32-bit versions of these files as well. To find these, look to that dll site.
  14. GodMode9 → 0:/.../gudenau_Edited.ciaCIA image options... →Decrypt file (...) → Decrypt inplace.
  15. FBI → SD gudenau_Edited.ciaInstall CIA.
  16. GodMode9 → 1:/title/00040010/20021300/00000000.appNCCH image options...Encrypt file (...) → Encrypt inplace.
  17. GodMode9 → 1:/title/00040010/20021300/00000001.appNCCH image options...Encrypt file (...) → Encrypt inplace.
  18. CthulhuShared icon cache management. → Clear shared icon cache. → (A) Confirm.
  19. Cthulhu → HOME Menu icon cache management. → Clear HOME Menu icon cache. → (A) Confirm.

You'll have to ignore the Japanese vs English discrepancy.

edited HOME Menu icon.png

***

In order to specify version number, you'll need to rebuild the CIA with makerom.exe.

Example version scheme: (4.5.6)
  • 4 = Major
  • 5 = Minor
  • 6 = Micro
  1. Download the Project_CTR archive, extract makerom.exe, and put this program in the same folder where CustomPartition0.bin and CustomPartition1.bin.
  2. Back out the directory. Hold the Shift key and right click on HackingToolkit9DS folder → Open command window here.
  3. Code:
    makerom.exe -target p -f cia -fsign -content customPartition0.bin:0:0 -content customPartition1.bin:1:1 -major 4 -minor 5 -micro 6 -o gunedau_Edited(fixed).cia
    • You'll get [NCCH ERROR] and [CIA WARNING] because the ticket is no longer signed.
  4. Install gunedau_Edited(fixed).cia with FBI.
  5. Repeat the process of encrypting the two *.app files in GodMode9.
  6. GodMode9 → 1:/title/00040010/20021300/content/00000000.tmd → TMD file options... → Build CIA (standard).
  7. When viewed in FBI after installing & dumping title, the CIA information will look like this:
Again, ignore the discrepancy in JPN region and Title ID . I did this in JPN firmware with the Japanese version of H&S.

gudenau version edit.png

***

If you want go back to using the original Health & Safety, FBI install 0004001020021300 Health and Safety Information (CTR-N-HACE) (U).legit.cia.
  • If you do not installed a legit CIA built system title, this will render that title unusable unless you encrypt its *.app files in GodMode9.
 
Last edited by TurdPooCharger,

gudenau

Largely ignored
OP
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,378
Country
United States
Let's try editing a single system title for example, Health & Safety Information.
  1. GodMode9 → 1:/title/00040010/ → Hold (R)-shoulder and press (A) → Search for titles.
  2. 0004001020021300 Health and Safety Information (CTR-N-HACE) (U).tmdTMD file options...Build CIA (legit).
  3. 1:/gm9/out/0004001020021300 Health and Safety Information (CTR-N-HACE) (U).legit.ciaCIA image options...Encrypt file (0:/gm9/out).
  4. Keep a copy of the original Health & Safety. For the second copy, rename the *.cia file simply to health.cia (no spaces).
  5. Download HackingToolkit9DS V12 and run the setup.exe.
  6. Extract HackingToolkit9DS.exe. Put this program in a separate folder called HackingToolkit9DS.
  7. Put health.cia in HackingToolkit9DS folder.
  8. HackingToolkit9DS → Write your choice: CE → (Enter) button → Write your input .CIA filename <without extension> : health → (Enter) button.
  9. Edit the .../ExtractedExeFS/icon.bin with either:
  10. LOAD SMDHC:/.../HackingToolkit9DS/ExtractedExeFS/icon.bin.
  11. SAVE SMDHC:/.../HackingToolkit9DS/ExtractedExeFS/icon.bin.
  12. HackingToolkit9DS → Write your choice: CR → (Enter) button → Write your output .CIA filename <without extension> : gudenau → (Enter) button.
    • For minor and major numbers, enter "0" for both times. If you would like to specify the version, please further below.
    • If you get errors about "vcruntime140d" or "vcruntime140d", HackingToolkit9DS requires specific debug *.dll files found from Visual Studio 2015.
    • View attachment 156001
    • Because installing VS2015 eats up a lot of space and it's hard to find these days, you can instead download and place these files in the same folder where HackingToolkit9DS.exe is found.
    • For my Windows 8.1 64-bit computer, I have:
      • ucrtbased.dll - 64bit 10.0.10056.0 (1.70 MB - 8E6E4325)
      • vcruntime140d.dll - 64bit 14.0.24210.0 (128 KB - E726EE45
    • There are 32-bit versions of these files as well. To find these, look to that dll site.
  13. GodMode9 → 0:/.../gudenau_Edited.ciaCIA image options... →Decrypt file (...) → Decrypt inplace.
  14. FBI → SD gudenau_Edited.ciaInstall CIA.
  15. GodMode9 → 1:/title/00040010/20021300/00000000.appNCCH image options...Encrypt file (...) → Encrypt inplace.
  16. GodMode9 → 1:/title/00040010/20021300/00000001.appNCCH image options...Encrypt file (...) → Encrypt inplace.
  17. CthulhuShared icon cache management. → Clear shared icon cache. → (A) Confirm.
  18. Cthulhu → HOME Menu icon cache management. → Clear HOME Menu icon cache. → (A) Confirm.

You'll have to ignore the Japanese vs English discrepancy.

***

In order to specify version number, you'll need to rebuild the CIA with makerom.exe.

Example version scheme: (4.5.6)
  • 4 = Major
  • 5 = Minor
  • 6 = Micro
  1. Download the Project_CTR archive, extract makerom.exe, and put this program in the same folder where CustomPartition0.bin and CustomPartition1.bin.
  2. Back out the directory. Hold the Shift key and right click on HackingToolkit9DS folder → Open command window here.
  3. Code:
    makerom.exe -target p -f cia -fsign -content customPartition0.bin:0:0 -content customPartition1.bin:1:1 -major 4 -minor 5 -micro 6 -o gunedau_Edited(fixed).cia
    • You'll get [NCCH ERROR] and [CIA WARNING] because the ticket is no longer signed.
  4. Install gunedau_Edited(fixed).cia with FBI.
  5. Repeat the process of encrypting the two *.app files in GodMode9.
  6. GodMode9 → 1:/title/00040010/20021300/content/00000000.tmd → TMD file options... → Build CIA (standard).
  7. When viewed in FBI after installing & dumping title, the CIA information will look like this:
Again, ignore the discrepancy in JPN region and Title ID . I did this in JPN firmware with the Japanese version of H&S.


***

If you want go back to using the original Health & Safety, FBI install 0004001020021300 Health and Safety Information (CTR-N-HACE) (U).legit.cia.
  • If you do not installed a legit CIA built system title, this will render that title unusable unless you encrypt its *.app files in GodMode9.

The problem with this, that is not how the icons on the home menu are stored. :-P

Things like the browser, notes, etc..
 
Joined
Jan 1, 2018
Messages
7,292
Trophies
2
XP
5,946
Country
United States
That is useful, but does not cover what I want to do.
Oh dear. What you wish to accomplish is really fricking hard. From prior experience editing *_LZ.bin for Nintendo splash logos, this shit induces high blood pressure.


So the file you want to edit is:
  • 0004003000008F02.cia (USA HOME Menu, or the specific title that houses the icons)
When GM9 encrypted and extracted with HackingToolkit9DS, you get:
  • ExtractedRomFS/launcher_LZ.bin
To edit this file and break it down more, you'll need DarcTool3DS.

You should get a parent folder launcher_LZ with three subfolders:
  • anim
  • blyt
  • timg
Your icons will be found somewhere in timg. To view these *.bclim images, you'll need Every File Explorer.
(I haven't clue which exactly are those for systems applets you see on the top row).

To edit and replace the icons, you'll need png2bclim; you must not exceed dimensions and resolution when replacing these.

If you use colorized images, you have to edit their corresponding *.bclyt files to remove the color filter that'll mask them.

***

Here's where it's the worse: DarcTool3DS might not be enough to repack and compress the edited launcher_LZ.bin.
If this file requires HMAC encryption, you will have to figure out what its secret key... I'm assuming that guide by Dungeonfire will not require encryption if he was able to hex edit the BCLYT files.

***

The rest is standard affair rebuild the CIA, blah blah sign NCCH header & version number, GodMode9 *.app encryption.
 
Last edited by TurdPooCharger,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Where's everybody?