Documentation Shadow256 Ultimate Switch Hack Script
Introduction
Ceci est un ensemble de script permettant, à l'origine, de lancer un payload ou Linux sur la Switch via le mode RCM (mode recovery) de celle-ci. D'autres fonctionnalités ont été développées ensuite.
Cette documentation a pour but d'orienter l'utilisateur pour faire fonctionner au mieux ces outils. Le sujet concernant cette application se trouve sur cette page et le projet Github se trouve sur celle-ci.
Ce script est utilisable sur Windows 7 32 et 64 bits ainsi que sur les versions supérieurs (Windows Vista non testé mais devrait fonctionner).
Notez que je ne pourrai être tenu responsable en cas de dommages résultant de l'utilisation de ce logiciel et de tout ce qu'il contient.
L'ensemble de mon travail est soumis à la licence GPL V3 (tous les scripts ou programme portant la mention "by shadow256" dans le code source ou dans le programme en lui-même). Les fichiers de traduction sont aussi soumis à cette licence. Le reste des outils sont sous la licence de leurs auteurs.
Pour participer à la traduction, veuillez lire cette partie de la documentation.
Fonctionnalités
- Possibilité de mise à jour automatique des scripts/fonctionnalités.
- Support du multi-langues.
- Installation des drivers du mode RCM (driver "APX") et du mode libnx_USB_comms utilisé par Tinfoil (driver "libnx_USB_comms") de la Switch, voir cette page de la documentation pour plus d'infos.
- Lancement d'un payload via le mode RCM de la Switch. Vous pouvez placer les payloads dans un dossier "Payloads" situé à la racine de ce script ou choisir un fichier de payload via un explorateur. Notez que les drivers du mode RCM de la Switch doivent être installé pour que cela fonctionne.
- Préparations pour pouvoir utiliser assez simplement l'exploit Nereba grâce à Pegaswitch. L'exploit Caffeine est également utilisable via cette méthode.
- Aide à l'installation de Switchboot sur les puces et certains dongles UF2 et quelques autres fonctionnalités liés aux puces.
- Installation d'applications sur Android via le mode débogage USB de celui-ci.
- Gestion d'une boîte à outils (toolbox) permettant de lancer des logiciels en mode autonome avec la possibilité de gérer une liste de logiciel personnel. Il est à noter que les programmes peuvent être intégrés au dossier "tools\toolbox" du script ce qui permet d'avoir une possibilité de portabilité si cela est souhaité. Enfin, évitez de modifier les fichiers de configuration de la toolbox à la main, préférez le script.
- Obsolète: Lancement de Linux via le mode RCM de la Switch (soit avec le kernel officiel, soit via un kernel patché (merci Krazer89 de GBATemp et à Killua de Logic-sunrise pour l'info) pour les SD non compatibles avec le kernel officiel), soit avec un fichier de kernel sélectionnable via un explorateur de fichiers. Notez que les drivers du mode RCM de la Switch doivent être installé pour que cela fonctionne.
- Obsolète: Téléchargement/mise à jour des binaires de Shofel2.
- Récupération des biskeys grâce au payload Biskeydump dans le fichier "biskey.txt" qui sera situé à la racine du script (les biskeys commencent à la ligne 7 du fichier). Notez que les drivers du mode RCM de la Switch doivent être installé pour que cela fonctionne.
- Vérification si une console est patchée, peut-être patchée ou non patchée.
- Montage de la partition Boot0, Boot1, EMMC ou de la carte SD comme périphérique de stockage USB sur le PC.
- Gestion de nand (fichier ou disque physique) permettant d'obtenir des infos sur la nand, de dumper la nand ou une partition spécifique de celle-ci ou de restaurer un dump de nand ou une partition dumpée. Notez que pour ces fonctionnalités utilisant un disque physique vous aurez besoin de monter la partie de la nand sur laquelle vous souhaitez travailler via Memloader, le script permettant de faire cela est intégré.
- Réunification des fichiers d'un dump de la nand effectué par Hekate ou SX OS sur une SD formatée en FAT32 ou sur une SD trop petite pour accueillir le dump en une seule fois dans un fichier "rawnand.bin" qui pourra ensuite être réutilisé pour restaurer la nand.
- Split d'un dump de la rawnand pour être utiliser par l'emunand de Atmosphere.
- Création d'un fichier à partir d'un dump complet de la nand permettant de pouvoir ensuite préparer l'emunand sur une partition dédiée de la SD.
- Création de packages de mise à jour via ChoiDuJour avec tous les paramètres.
- Téléchargement d'un firmware et préparation de la SD avec celui-ci pour ChoiDuJourNX ou Daybreak, le homebrew est également copié durant ce script. Ce script permet également d'éventuellement créé le package de mise à jour via ChoiDuJour dans la foulée. Pour savoir comment utiliser ChoiDuJourNX, vous pouvez vous référer à cette page de la documentation.
- Vérification d'un fichier de clés (fichier "prod.keys", "keys.txt", "keys.dat", etc...).
- Préparation d'une SD, du formatage (FAT32 ou EXFAT) à la mise en place de différentes solutions, voir cette page pour plus d'informations sur le contenu des packs.
- Création des sig_patches pour Atmosphere.
- Fonctions de débrickage simplifié.
- Réparation d'un fichier BOOT0 dont les keyblobs seraient corrompues (les clés de la console visée sont nécessaire).
- Lancement de NSC_Builder. Ce script est utile pour convertir des XCIs ou NSPs en XCIs ou NSPs. Les fichiers convertis via ce script sont nettoyés et rendus, en théorie, indétectable par Nintendo, surtout pour les NSPs. Enfin, ce script permet aussi de créé des NSPs ou XCIs contenant le jeu, ses mises à jour et DLCs dans un seul fichier. Pour plus d'infos, voir cette page.
- Conversion de fichiers XCI en NSP.
- Conversion d'un fichier NSP pour le rendre compatible avec le firmware de la Switch le plus bas possible.
- Installation de NSP via Goldleaf et le réseau.
- Sauvegarde, restauration et réinitialisation des fichiers importants utilisés par le script.
- Vérification des NSPs.
- Conversion d'une sauvegarde de Zelda Breath Of The Wild du format Wii U vers Switch ou inversement.
- Extraction du certificat d'une console via le fichier "PRODINFO.bin" décrypté.
- Installation de NSP via Goldleaf en USB.
- Découpage de NSP ou de XCI pour pouvoir les mettre sur une SD formatée en FAT32.
- Lancement du nécessaire pour jouer en ligne sur le réseau alternatif, voir cette page. Une liste de serveurs peut aussi être créée.
- Création et lancement d'un serveur personnel pour Switch-Lan-Play.
- Lancement du compagnon pour le module HID_mitm.
- Utilisation de NSZip pour compresser/décompresser des jeux.
- Configuration des émulateurs Nes Classic Edition et Snes Classic Edition.
- Extraction des fichiers d'une sauvegarde de jeu de la Switch.
- Et d'autres choses...
Bugs connus
- Les scripts de configuration de Nes Classic Edition et de Snes Classic Edition affichent tous les jeux n'étant jouables qu'à un seul joueur, ceci doit être corrigé manuellement dans le fichier de configuration des jeux de l'émulateur pour l'instant.
- L'utilisation de guillemets et de quelques autres signes dans les entrées utilisateurs fait planter le script.
- Lorsqu'une sortie console faite par un "echo" est effectuée, cela produit une erreur dans le fichier log. L'encodage en UTF-8 semble être à l'origine de ce problème mais je n'ai pas trouvé comment le résoudre pour l'instant.
- Le dump des biskeys récupère également le résultat du programme TegraRcmSmash, les biskeys commencent à partir de la ligne 7 du fichier.
Fonctions à venir
- Améliorer et optimiser le script de mise à jour automatique.
- Dans le script de création du fichier de l'emunand pour une partition ou dans le script permettant de joindre un dump de nand, implémenter un choix permettant de traiter d'autres types de dump splitté.
- Mettre en place un script qui s'occupera du flash d'une partition de la SD avec le fichier de partition d'une Emunand et qui indiquera à l'utilisateur à quel secteur elle commence histoire qu'il puisse configurer ensuite facilement celle-ci dans Atmosphere.
- Créer de nouveaux scripts pour préparer et installer Linux ou Laka, les anciens scripts de préparation de Linux seront gardés mais seront notés comme étant obsolètes.
- Dans la gestion des cheats, certains jeux ne sont pas nommés, la base de données (fichier "tools\sd_switch\cheats\README.md") doit être mise à jour.
- Récupération des Biskeys directement dans un fichier texte grâce au payload Biskeydump (fonction présente mais pas parfaite pour l'instant).
- Mise en place d'une méthode plus ou moins automatisée permettant de revenir à la ligne avant un mot qui atteindrait la largeur de la fenêtre, pour éviter de couper ce dernier.
- D'autres choses que vous pourriez me suggérer.
Liens utiles
Cette documentation ne couvrira pas les différents tutoriels d'utilisations des logiciels ou encore la façon de passer sa console en mode RCM mais voici quelques liens utiles:
La FAQ, contient beaucoup d'informations.
Tutoriel de lancement d'un payload sous Windows (indispensable pour installer les drivers de la Switch).
Préparation d'une SD contenant Linux pour la Switch et utilisation de celui-ci
créé un package personnalisé pour la Switch
Téléchargement
Vous pouvez télécharger la dernière version base sur cette page (elle ajoutera les fonctionnalités au fur et à mesure de leurs utilisations) ou vous pouvez télécharger la dernière version complète du projet en cliquant ici.
Changelog
Voir cette page de la documentation.
Pour le changelog des packs copiés sur la SD pendant la préparation de celle-ci après la version 2.00.04 du script, voir cette page de la documentation.
Crédits
Voir cette page.