Developer XorTroll has released a mega update of Goldleaf for Nintendo Switch in version 0.7 adding new features.
Goldleaf is a multi-purpose tool, specialized in the installation of titles from NSP packages, but with other utilities, such as NAND / SD navigation. It is also possible to easily manage information on titles, such as installing titles via NSP packages or uninstalling titles already installed. If you know what FBI is (connected to 3DS homebrew), this is a similar project for Nintendo Switch.
Installing NSP packages can be dangerous.
Keep in mind that there will always be a risk of ban and that NSPs with tickets are particularly dangerous.
If you want to be safe, avoid connecting to the Internet via airplane mode or blocking Nintendo services with special tools like 90DNS.
Goldleaf simply provides support for a normal NSP and / or ticket installation. The way you use them or the risks you are taking is your problem.
Goldleaf offers the user the ability to edit NAND files, eliminating them or allowing them to copy new files there.
This can be dangerous, as the elimination of NCA from NAND content can lead to unresolvable errors. Image that deletes all EXE and DLL files from the System32 folder. Well, the result would be similar.
Removing tickets from the installed contents will make the system unable to recognize them as “legit” purchased, so it will refuse to start them (in many cases, but NOT in all cases)
- SD card and NAND browser A very simple but, in my opinion, one of the most useful features in Goldleaf. Only a file browser for the SD card or NAND partitions, providing special support for some file formats:
- NSP (Nintendo Submission Package) This is the official format used by Nintendo to provide content that can be installed by its own CDN servers. Technically, it is a PFS0 (a simple file format containing several files) with NCA content, sometimes XML and / or icon metadata (exported by official packaging tools) and a ticket and a certificate in case they are signed with a titlekey (the games are, the contents of the system are not). Goldleaf can install NSPs in the same way as other official apps, as DevMenu. Attention it is not advisable to install the NSPs in case you plan to go online. Installing content from unofficial tools (such as Goldleaf or the old Tinfoil) can lead to permanent ban from online services and, in serious cases, from any Nintendo service, even from updating the console or games. Install NSP at your own risk.
- NRO (Nintendo Relocatable Object) Officially it is treated as a dynamic library object, similar to DLLs on Windows. This is dynamically loaded by applications at runtime. The Homebrew uses them as executable binaries because they can contain multiple sections of data, we can use them to load extra information like NACP (title, author and version), an icon or even RomFs data to access runtime. Goldleaf has the ability to start NROs that are on the SD card. Keep in mind that this feature can usually cause undefined behavior due to some difficulty in cleaning the graphics so quickly.
- NCA (Nintendo Content Archive)This format is the basic format used by Horizon OS to store content. Although the previously mentioned formats do not require any kind of encryption to be extracted or used, the NCAs must be deciphered, so the user is required to provide the necessary keys. to extract the content. The NCAs have different sections and other information. The two main sections are ExeFs and RomFs: the ExeFs filesystem contains the binaries of the NSO code and an NPDM metadata file, while the RomF contain several files to access from the title. Some NCAs could also contain a special section, which is the section 0. This section contains the PNG and GIF logos displayed at the top left and bottom right of the console when starting a title. The NCAs do not necessarily have these two sections. The NCA program,
- NXTheme (Home menu theme) This format is developed by the Qcean team, a format for managing the layout of the Home menu layout. + Goldleaf can install them, but must have the RomF of the Home menu on
sd:/goldleaf/qlaunch. If the keys used with other formats are provided, Goldleaf itself will locate the console qlaunch and extract it in that directory. You will have to restart with CFW after installing a theme to see any changes.
- NACP (Nintendo Application Control Property) This is the format used by Nintendo to store the name, version, author’s name and other title information, for example if the title supports recording or video capture. Goldleaf can analyze a NACP files and view some of its information.
- Tickets and certificates Tickets (.tik) and certificates (.cert) are the format used by Nintendo to provide encryption data for titlekey-signed titles (almost all games). NSPs usually contain them and Goldleaf can install them if are found in the SD card. To install a ticket you will need to provide a certificate, both with the same name and in the same directory, with their extension. (example:
The NAND browser has almost the same support, but we recommend using it only to export files by copying them to the SD card, to avoid problems. Goldleaf should advise when dangerous operations are performed.
- Installer USB and Goldtree You can install NSPs via USB using Goldtree, a C # PC client to manage these installations. Keep in mind that USB installations are a bit unstable and sometimes may have problems.
- Title manager The manager of the Goldleaf title will show all the titles installed in the system, both SD, NAND and the one in the gamecart if entered. You can view the information, the icon, the installation path and the application ID of these titles. titles can also be completely uninstalled here. Keep in mind that deleting a title will not delete its saved, which should remain in the system.
- Goldleaf ticket manager can get all the tickets installed on the console. While some of them will contain the name of the title they belong to, some may belong to the DLC or to other types of content even though they do not belong directly to a title. You can view the application ID and the generation of a ticket key by selecting it. tickets can also be removed from the console. Removing tickets can be a dangerous option, since without them, titlekey-signed cannot be started from the Home menu.
- CFW Configuration This is mainly a useful menu to check which CFWs are in the SD card and which of them have some changes to the Home Menu, which means that a theme has probably been installed. You can delete any changes to the main menu of a given CFW after selecting a CFW.
- Console Information With this option, you can control the size of the SD card used, the entire NAND and the different NAND partitions. It also shows the current firmware version of the console.
- About Displays the Goldleaf logo and if Goldleaf is running as NRO from hbmenu or as a normal title.
Like some other miscellaneous options, you can easily restart or shut down your console from Goldleaf, by pressing ZL or ZR at any time.
If you provide a file with several Switch keys (commonly called as
keys.dat), you can do something more with Goldleaf: (remember you have to put it like
- Unless you have already downloaded RomFs (or at least the files in
lytthe qlaunch folder) in the
sd:/goldleaf/qlaunchdirectory, you will need to provide the key file mentioned above with different keys, so that Goldleaf can extract the qlunch RomF directly console contents to use it.
- You have the option to extract NCA content (ExeFs, RomFs or section 0), but you will also need the aforementioned keys.
You have two options to use Goldleaf: upload it as a normal homebrew via hbmenu as a NRO binary , or install the NSP as a normal title . Ironically, you would need to install the Goldleaf NSP via Goldleaf like NRO (or old installers like the original Tinfoil)
For both options, you will need to get the latest version of NRO / NSP from here .
Prepare for USB installations
USB installations require some extra things to be available:
- Download the Zadig tool from here
- Open Goldleaf and select the USB installation option, with the Switch connected to the PC via a USB-C cable.
- Open Zadig and select the device on your Nintendo Switch and install libusbK there.
Nothing else is required. No external file or additional configuration is required for Goldleaf but NRO / NSP.
- NRO binary Just place the NRO anywhere on the SD card (people use to insert the NROs in the
switchfolder) and start it!
- NSP (installable title) Goldleaf’s NSP title has application ID / title ID
050032A5CF12E000. (as an additional information) You need a homebrew to install the NSP. The best solution would be to download both the NRO and the NSP and install the NSP via the NRO. (Ironically) After installing it, you should be able to start Goldleaf as a normal title.
Goldtree and USB installations
The USB communication is slightly different from that of Tinfoil, so the old Python script of Aluminum, Aluminum and other tools will not work properly.
Goldtree will ask you to choose an NSP after establishing a connection with Goldleaf, and it will be received and installed by Goldleaf.
Please note that USB support is a bit unstable and sometimes it may fail. However, it should work …
The controls are quite intuitive in Goldleaf, but here you will find a brief explanation:
- Press A to select options from the menus, browse folders or, in the case of a file, to browse a menu with file options (copy, delete …)
- Press B to delete a dialog box or return to the previous page / menu.
- Press X to paste the path of the notes. Obviously, this option is only available on file browsers. (SD or NAND)
- Press Y to browse a menu with directory options, similar to those used with files, instead of browsing the directory. Obviously, this option is only available on file browsers. (SD or NAND)
- Press ZL or ZR anywhere to navigate a menu with restart / shutdown options, in case you want to restart or shut down the console.
- Press Plus (+) or Minus (-) to exit Goldleaf and return to hbmenu. This option is only available if Goldleaf is loaded as an NRO track. (more special cases like this below)
- The movement is quite obvious. Using the L-stick , R-stick or D-pad you can switch between menu or dialog options. In menus (such as file browsers or the main menu), the R-stick provides faster scrolling.
Goldleaf differs on some features depending on whether it is loaded as NRO or as an installed title:
- Goldleaf can be closed using the Plus (+) or Minus (-) buttons if it is loaded as NRO, but since normal titles must be abandoned from the Home menu, this function is not available as a title.
- Goldleaf disables the Home button when installing an NSP if it is loaded as a title, but this feature is not available as an NRO binary for technical reasons related to applets.
- Goldleaf cannot launch the NRO binaries if it is loaded as a title for technical reasons. They can only be launched from another NRO track.
Problems and support
If you find a bug or need help with Goldleaf, you have several places to ask.
Many errors are very common and can be misunderstood and you should document some errors instead of calling them directly:
- It is a common problem for some NSPs, although they are completely valid, being detected as incorrect NSPs. Although they may actually be NPs wrong, it is usually caused by a mismatch in the firmware. For example, if you are trying to install a security that requires at least version 5.1.0 (which uses the generation of the key 4) on a lower firmware version, it will not be recognized as a valid NSP for cryptographic reasons. (the console cannot decode the NSP because it is encrypted with unknown keys found in the 5.1.0 update)
- The USB installation can sometimes hang in the middle of the installation. In this case, try closing Goldleaf and Goldtree, uninstalling the incorrectly installed title and trying again.
Possible future features
- Savedata assembly and navigation (and hopefully also export)
- Key derivation, the process of obtaining the keys required by the console itself
- Supports multiple extraction formats (PFS0 (aka NSP) or XCI), likewise GodMode9 does with the 3DS system
- Like GodMode9, it implements an easier way to mount content instead of static menus
- Remote PC
- Unicode is now supported. No more complaints with special characters in the labels or folders of the unit!
- The read size was again reduced to 8 MB (compared to the previous 16 MB), to make the USB more stable (the size of 16 MB could cause instability)
- Added option to select a file directly on the remote PC tool (basically the same version system <= 0.5 Goldleaf, for those who love the classic system!)
- Goldtree’s messages have been slightly modified to be more precise. Now show its version to avoid confusion between different executables.
- NSP installations
- The name of the NSP is shown above (instead of the directory).
- Now ETA (estimated time to complete the installation) is also shown.
- Now Goldleaf always gets the NSP key generation (previously only when it had a ticket) and compares it with a calculated system, in order to block installations with higher key generations (especially because the contents could not be deciphered , therefore absolutely useless)
- Now the installation path is chosen only once, at the beginning of the NSP batch installations (all NSPs in a directory)
- Multi-content installations (currently few titles) work now (it doesn’t seem to work on 0.6.x)
- Title dump / export
- The titles are always downloaded in the concatenation files (the HOS archive bit directories, used to support files + 4 GB), which means that the + 4 GB titles can be downloaded safely on FAT32 and installed directly .
- Fixed errors when dumping updates and DLCs. They should work fine now.
- Much of the code has been reformatted: several small bugs fixed, others not so small mentioned below.
- Added a warning and success / failure messages for directory deletion.
- Goldleaf no longer relies on its custom libnx fork, since its only worthy difference was its (slightly) custom USB code, which was merged into Goldleaf. This does not involve any change in performance, but less complexity in order to build the project.
- Copying files from PC to SD that exceed 4 GB is now handled correctly, creating a concatenation file (see above) to handle it correctly.
- The shipper has been updated with the latest version of hbloader, so now the shipper version is 0.2.
- User Profiles
- Users play a more important role in Goldleaf. Now you need to select an account to use different user related features.
- Added support for logout accounts (ONLY locally) , mainly for banned people who want to unlink their accounts to eliminate them.
- Content manager
- Fixed a bug that always showed the size of the base title, even when checking for updates or DLCs only.
- Added support for game statistics, both for the user only (the user must first be selected, see above) and global, this includes the last game time and the total playing time for both.
- Fixed bugs where content whose base title was in a different location than the updates / DLCs were shown incorrectly.
- Unicode changes indicated above
- The shared character of the system is no longer used due to the lack of unicode characters. Instead, from now on a new character is used: Roboto (medium), which is the standard Android font.
- Two new clickable icons have been added in the lower right part of Goldleaf’s top banner: one for user selection, while the other for help and control information.
- Some small corrections made: size adjustments, without connection, no IP or default text will be shown from now on.
- Plutonium corrections with new lines and text sizes make the dialog box dimensions more well measured now (previously, a single new line would have extended the dialog of the entire screen)
- Several changes to the icons (icon and amiibo dump), thanks to C4Phoenix for all its help with graphic resources from 0.1!
- Goldleaf has now been compiled with an experimental plutonium branch that uses smart pointers instead of raw pointers that are not aimed at memory leaks!
- Now, Goldleaf also supports the Dutch language! Many thanks to Mega for the help with the translation!
- Navigation (fast?) On certain folders (empty?) Sometimes it can have strange behaviors, with consequent crashes.