Documentation Shadow256 Ultimate Switch Hack Script
Introduction
This is a set of scripts that originally allows you to launch a payload or Linux on the Switch via its RCM. Other functionalities were then developed.
Cette This documentation is intended to guide the user to make these tools work as well as possible. The subject for this application is on this page and the Github project is on this page.
This script is usable on Windows 7 32 and 64 bits as well as on higher versions (Windows Vista not tested but should work).
Please note that I cannot be held responsible for any damage resulting from the use of this software and everything it contains. Notez que je ne pourrai ĂȘtre tenu responsable en cas de domages rĂ©sultant de l'utilisation de ce logiciel et de tout se qu'il contient.
All my work is subject to the GPL V3 license (all scripts or programs marked "by shadow256" in the source code or in the program itself). Translation files are also subject to this license. The rest of the tools are under the license of their authors.
To participate in the translation, please read this part of the documentation.
Features
- Possibility of automatic updating of scripts/functionalities.
- Multi-language support.
- Installation of the RCM mode drivers ( "APX" driver) and the libnx_USB_comms mode used by Tinfoil ( "libnx_USB_comms" driver) of the Switch, see this documentation page for more informations.
- Launching a payload via the RCM mode of the Switch. You can place the payloads in a "Payloads" folder located at the root of this script or choose a payload file via an explorer. Note that the Switch's RCM mode drivers must be installed for this to work.
- Preparations to be able to use the Nereba exploit, thanks to Pegaswitch. The Caffeine exploit can also be used via this method.
- Help to install Switchboot on modchips and some UF2 dongles; and some other functions linked to the modchips.
- Installation of applications on Android via the USB debug mode of Android.
- Management of a toolbox allowing to launch software in autonomous mode with the possibility to manage a list of personal software. It should be noted that the programs can be integrated into the "tools\toolbox" folder of the script, which allows you to have a portability option if you wish. Finally, avoid modifying the toolbox configuration files by hand, prefer the script.
- Obsolete: Launching Linux via the Switch's RCM mode (either with the official kernel, or via a patched kernel (thanks Krazer89 from GBATemp and Killua from Logic-sunrise for the info) for SDs not compatible with the official kernel), or with a kernel file that you can select via a file explorer. Note that the Switch's RCM mode drivers must be installed for this to work.
- Obsolete: Downloading/updating Shofel2 binaries.
- Biskey retrieval thanks to the Biskeydump payload in the "biskey.txt" file which will be located at the root of the script (biskeys start at line 7 of the file). Note that the Switch's RCM mode drivers must be installed for this to work.
- Check if a console is patched, can be patched or not patched.
- Mounting the Boot0, Boot1, EMMC or SD card partition as a USB storage device on the PC.
- Nand management (file or physical disk) to get information about the nand, dump the nand or a specific partition of it or restore a nand dump or a dumped partition. Note that for these features using a physical disk you will need to mount the part of the nand you want to work on via Memloader, the script to do this is integrated.
- Reunification of the files of a nand dump performed by Hekate or SX OS on an SD formatted in FAT32 or on an SD too small to host the dump at once in a "rawnand.bin" file that can then be reused to restore the nand.
- Split a dump of the rawnand that could be used by the emunand of Atmosphere.
- Creation of a file from a complete dump of the nand allowing to prepare the emunand on a dedicated partition of the SD.
- Creation of update packages via ChoiDuJour with all parameters.
- Downloading a firmware and preparing the SD with it for ChoiDuJourNX or Daybreak, the homebrew is also copied during this script. This script also allows you to create the update package via ChoiDuJour in the process. To know how to use ChoiDuJourNX, you can refer to this page of the documentation.
- Checking a key file ( "prod.keys", "keys.txt", "keys.dat", etc.).
- Preparation of an SD, from formatting (FAT32 or EXFAT) to the implementation of different solutions, see this page for more informations on the content of the packs.
- Creating sig_patches for Atmosphere.
- Simplified unbricking functions.
- Repairing a BOOT0 file witch have corrupted keyblobs (the concerned console keys mendatory).
- Launch of NSC_Builder. This script is useful for converting XCIs or NSPs to XCIs or NSPs. Files converted via this script are cleaned and made, in theory, undetectable by Nintendo, especially for NSPs. Finally, this script also allows you to create NSPs or XCIs containing the game, its updates and DLCs in a single file. For more information, see this page.
- Conversion of XCI files to NSP.
- Conversion of an NSP file to make it compatible with the lowest possible switch firmware.
- Installation of NSP via Goldleaf and the network.
- Backup, restore and reset important files used by the script.
- Verification of the NSPs.
- Converting a Zelda Breath Of The Wild backup from Wii U format to Switch or vice versa.
- Extraction of the certificate from a console via the decrypted "PRODINFO.bin" file.
- Installation of NSP via Goldleaf via USB.
- Cutting of NSP or XCI to be able to put them on an SD formatted in FAT32.
- Launch of the necessary to play online on the alternative network, see this page. A list of servers can also be created.
- Creation and launch of a personal server for Switch-Lan-Play.
- Launch of the companion for the HID_mitm module.
- Using NSZip to compress/uncompress games.
- Configuration of the Nes Classic Edition and Snes Classic Edition emulators.
- Extract files from a Switch gamesave.
- And more...
Known bugs
- The Nes Classic Edition and Snes Classic Edition configuration scripts display all games that can only be played by one player, so this must be manually fixed in the emulator's game configuration file for now.
- The use of quotation marks and a few other signs in the user entries causes the script to crash.
- When a console output made by an "echo" is performed, it produces an error in the log file. UTF-8 encoding seems to be the cause of this problem but I haven't found a way to solve it yet.
- The biskey dump also retrieves the result of the TegraRcmSmash program, the bis keys starts from line 7 of the file.
Future functions
- Improve and optimize the automatic update script.
- In the script for creating the emunand file for a partition or in the script for attaching a nand dump, implement a choice to handle other types of split dump.
- Set up a script that will take care of the flash of a partition of the SD with the partition file of an Emunand and that will indicate to the user in which sector it starts story that he can then easily configure it in Atmosphere.
- Create new scripts to prepare and install Linux or Laka, the old Linux preparation scripts will be kept but will be noted as obsolete.
- In cheat management, some games are not named, the database ( "tools\sd_switch\cheats\README.md" file) must be updated.
- Retrieving Biskeys directly from a text file using the Biskeydump payload (function present but not perfect yet).
- Implementing a more or less automated method allowing to go back to the line before a word that would reach the width of the window, in order to avoid cutting it.
- Other things you might suggest to me.
Useful links
This documentation will not cover the different tutorials on how to use the software or how to switch your console to RCM mode, but here are some useful links:
Look this page, you will probably find what you want on this website.
Download
You can download the last base version on this page (the functions used will be added during their use) or you can the last full version of the project by clicking here.
Changelog
See this page of the documentation.
For the changelog of the packs copied on the SD during the preparation of the SD after version 2.00.04 of the script, see this page of the documentation.
Credits
See This page.