Bonjour,
Je vais vous apprendre comment faire pour réinitialiser complètement une Switch si vous n'avez pas de backup clean de la nand. Ce tuto peut également vous servir à mettre à jour/downgrader une console manuellement mais il est dans ce cas plus simple d'utiliser le homebrew ChoiDuJourNX. Enfin, ce tuto peut aussi servir à récupérer une Switch brickée (si le brick n'est pas matériel) si vous êtes un imprudent et n'avez donc aucun dump de la nand.
Attention: Si vous possédez une Switch patchée, ce tuto ne doit pas être suivi car il active l'auto-RCM et en plus les manipulations peuvent rendre le démarrage de l'OS impossible donc la console pourrait devenir très difficile à utiliser ou à restaurer et sans dump de la nand et des Bis keys alors là c'est carrément impossible.
En premier lieu, je conseil très fortement de faire un backup de la nand actuelle avant de se lancer dans ces manipulations (même si ça ne fonctionne plus ça peut toujours servir de l'avoir), on ne sait jamais se qui peut arriver. Comme ces manipulations peuvent effacer également tout le contenus de la console (selon les options choisies pendant ce tuto, il faut également sauvegarder les sauvegardes de jeux à l'aide des homebrews JKSV, Chekpoint ou EdiZon. Bien-sûre, si vous avez installé des NSP, il faudra les réinstaller ensuite. Enfin, si vous contez réinitialiser complètement la console pendant ce tuto, concernant le dossier "nintendo" présent sur la SD, je conseil fortement de le déplacer de la SD vers votre PC avant de commencer et de ne pas redémarrer la console ensuite (si redémarrage, par exemple pour dumper les clés via Lockpick (bien que maintenant on utilisera plutôt Lockpick-RCM pour le dump des clés), supprimer le dossier "nintendo" qui se sera de nouveau créé).
Note: Pour une simple réinitialisation, je conseil plutôt l'utilisation du homebrew Haku33, c'est bien plus simple, ce tuto doit n'être utilisé qu'en dernier recours quand rien d'autre ne fonctionne.
Note importante: Avec SX OS, une fois ce tuto terminé, le CFW pourrait ne plus fonctionner pour je ne sais quelle raison. Pour rétablir son fonctionnement, il faut utiliser ChoiDuJourNX pour réinstaller/mettre à jour le firmware (par exemple via le CFW Atmosphere) et ensuite SX OS fonctionnera de nouveau.
Note: Pour l'instant, cette méthode de downgrade ne supporte pas le passage en firmware 6.2.0 et supérieur, pour ces firmwares il faut donc passer en 6.1.0 puis refaire l'upgrade en 6.2.0 via ChoiDuJourNX. Après perso je conseil plutôt un passage en 5.1.0 car ce firmware semble être mieux supporté par ChoiDuJour que les firmwares supérieur. Il est aussi possible d'utiliser EmmcHaccGen pour créer des packages à partir d'un firmware supérieur au 6.1.0, ceci sera brièvement abordé durant ce tutoriel.
Note importante, Je n'expliquerai pas ici le fonctionnement des Efuses, comment installer ou utiliser des homebrews ou encore comment lancer des payloads sur la Switch, veuillez consulter la FAQ pour savoir comment faire cela. Je n'expliquerai pas non plus comment installer ou utiliser un CFW, se référer à ce tuto, notamment pour comprendre à quoi sert le patche "nogc".
Ce tuto est en très grande partie tiré des informations de ce tuto sur Gbatemp.
Prés-requis:
- Une Switch non patchée.
- Une carte SD (64 GO minimum recommandé), ne contenant aucun autre fichier que ceux qui sont ou seront nécessaires dans ce tuto.
- Un PC sous Windows.
- Un câble USB C vers USB pour relier la Switch au PC.
- Savoir passer en mode RCM et injecter un payload sur la console.
- le payload Hekate (prendre la version 4.6 pour ce tuto car elle semble mieux fonctionner que les plus récentes).
- Le payload Memloader, le payload Biskeydump, le programme ChoiDuJour (pas ChoiDuJourNX mais bien ChoiDuJour) et le programme HacDiskMount, disponibles sur cette page.
- Le programme Etcher.
- Un firmware, téléchargeable sur cette page. Je conseil de prendre le firmware égal à celui de votre console (6.1.0 maximum je rappel), supérieur si vous souhaitez mettre à jour (toujours 6.1.0 maximum) ou inférieur si vos Efuses ne sont pas grillés (voir la FAQ pour en savoir plus au sujet des Efuses) mais je conseil vraiment de prendre un firmware égal au nombre maximum d'Efuses grillés de la console (donc probablement le firmware actuel de celle-ci) pour éviter tout désagréments.
- Le payload Lockpick-RCM (plus simple d'utilisation que Lockpick) ou le homebrew LockPick pour récupérer les clés (si vous ne les avez pas déjà) qui seront nécessaire à ChoiDuJour pour déchiffrer et créer le package de mise à jour.
Ce tuto est un tuto assez complexe qui nécessite une lecture et une compréhension de chaque étape, prenez bien votre temps avant de vous lancer et n'omettez aucune étape. Si l'une d'entre elle ne fonctionne pas, inutile de tenter d'aller plus loin.
Notez également que l'utilisation de mon script peut clairement simplifier les choses car le nécessaire est inclus (sauf le fichier de clés à dumper via Lockpick-rcm) mais sinon vous n'avez besoin de télécharger que mon script et d'utiliser les bonnes fonctions au bon moment du tuto et cela vous automatisera une très grande partie de celui-ci.
Note: Maintenant, mon script intègre une fonction permettant de faire cette procédure mais de manière très simplifiée, en cinq minutes chrono c'est réglé et si ça ne fonctionne toujours pas cela signifie que le problème est ailleurs, soit un problème avec PRODINFO qui nécessite quelques étapes supplémentaires en s'aidant du payload Prodinfo_gen mais cela ne sera pas abordé ici (souvent un problème avec PRODINFO se matérialise par une console qui bloque sur le logo Switch et on entend un léger claquement lors du forçage de l'extinction de la console), soit un problème avec les keyblobs dans BOOT0 qui est réparable (une fonction dans mon script est dédiée à cela) ou soit un problème matériel.
1) Préparer les fichiers correctement:
Note: Si vous utilisez mon script et que vous avez préparé la SD grâce à lui avec un pack d'un CFW et le pack Memloader, cette étape n'est pas à faire.
On va partir du principe que vous avez déjà récupéré tous les programmes et fichiers requis dans un dossier nommé "reset_switch", ce dossier sera notre base de travail. Dans ce dossier, créer un dossier "payloads", un dossier "programmes" et un dossier "firmware" (les noms ne sont pas obligatoires, ils servent juste d'indications pour simplifier les choses).
Extraire les payloads dans le dossier "payloads", les programmes dans le dossier "programmes" (je conseil de faire un sous-dossier pour chaque programme histoire d'être organisé) et extraire le firmware dans le dossier "firmware". Une fois cela fait, déplacer le dossier "firmware" dans le sous-dossier de ChoiDuJour qui devrait donc se trouver dans le dossier "programmes".
Si vous n'utilisez pas mon script, copiez le contenu du dossier "sample" de l'archive de Memloader à la racine de la SD.
Note: Avec mon script, cette étape est facultative car il contient une fonction qui permet de monter les différentes parties de la mémoire de la Switch (EMMC, Boot0, Boot1 et la micro-SD).
Voilà, tout devrait être près pour la suite.
2) Récupération des clés de la console:
Utiliser le payload Lockpick-RCM. Le fichier "prod.keys" obtenu contient donc tout un tas de clés qui sont utilisées dans la manipulation de fichiers comme les XCI, NSP, NCA, PFS0, HFS0... On se réfère souvent à ce fichier quand on parle d'outils comme Hactool ou ses dérivés et le fichier est parfois nommé "keys.txt" ou "keys.dat". Il n'est pas nécessaire de mettre à jour le firmware pour récupérer les dernières clés. Notons aussi que le dump des clés peut être fait sur l'emunand sauf pour l'emunand via fichiers de SXOS et pour l'emunand via partition de SX OS voir ce message pour savoir comment faire pour que cela soit possible. Pour utiliser les Bis Keys avec HacDiskMount, il sera nécessaire de couper en deux parties de 32 caractère la Bis Key souhaitée pour l'entrer dans le logiciel.
Notez que le fichier obtenu est lié à votre console donc ne le partagez pas, je rappel que si vous souhaitez savoir quelles clés sont communes et lesquelles sont uniques vous pouvez utiliser la fonction d'analyse d'un fichier de clés dans mon Ultimate-Switch-Hack-Script.
Autre point que je souligne, par exemple si vous utilisez NSC_Builder pour refaire du contenu (NSP/XCI, supers NSP/XCI, etc...) seul les clés communes sont utilisées donc votre contenu pourra être installé sur n'importe quelle console hackée.
Une fois le dump des clés effectués, copiez le fichier "prod.keys" obtenu dans le dossier de ChoiDuJour et renommez-le "keys.txt".
3) Création du package via ChoiDuJour:
Note: Si vous utilisez mon script, vous pouvez télécharger le firmware automatiquement puis créer le package via ChoiDuJour sans avoir besoin de lancer la moindre ligne de commande et sans avoir besoin de suivre la suite de cette étape. Notez tout de même qu'en cas d'erreurs, vous pouvez vous référez aux erreurs décrites à la fin de cette étape pour les corriger.
Note 2: Il existe également le programme EmmcHaccGen qui permet de créer un package du même type que ceux de ChoiDuJour mais fonctionnant pour les firmwares supérieurs au firmware 6.1.0, par contre ce programme nécessite les clés de la console sur laquelle on travail et le package créé ne fonctionnera que pour la console ciblée. Dans mon Ultimate-Switch-Hack-Script ce type de package peut être créé facilement, je n'aborderai pas les lignes de commandes pour ce programme dans ce tuto.
On va commencer par faire un petit point. Dans le dossier contenant le programme "ChoiDuJour.exe", vous devriez avoir un dossier nommé "firmware" contenant une multitude de fichiers et un fichier nommé "keys.txt". Si tout est bon, passons à la suite.
On va devoir exécuter une ligne de commande pour créer le package via ChoiDuJour. Pour se faire, maintenez la touche "maj" (ou "shift") de votre clavier et faites un clique droit sur le dossier contenant le programme de ChoiDuJour. Cliquez ensuite sur "Ouvrir une fenêtre de commandes ici" et entrez la ligne suivante:
ChoiDujour.exe --keyset="keys.txt" --fspatches=nocmac "firmware"
Pour ceux ayant besoin du patch "nogc", il faut utiliser cette ligne de commande:
ChoiDujour.exe --keyset="keys.txt" --fspatches=nocmac,nogc "firmware"
Pour ceux qui ne voudrait pas du driver EXFAT pour une raison ou une autre, il faut utiliser cette commande:
ChoiDujour.exe --keyset="keys.txt" --noexfat --fspatches=nocmac "firmware"
Pour ceux qui ne voudrait pas du driver EXFAT pour une raison ou une autre et qui ont besoin du patch "nogc", il faut utiliser cette commande:
ChoiDujour.exe --keyset="keys.txt" --noexfat --fspatches=nocmac,nogc "firmware"
Si tout fonctionne bien, vous obtiendrez un nouveau dossier avec les fichiers de votre firmware et vous pourrez donc fermer la fenêtre de la ligne de commande.
En cas d'erreur, il faut savoir qu'il y a certaines clés dumpée qui ne sont pas gérées par Hactool, c'est pour cela que vous pourriez avoir des erreurs. Dans ce cas, supprimez les clés "encrypted_header_key" et "eticket_rsa_kek" du fichier "keys.txt" (supprimez la ligne complète) et relancez la ligne de commande de ChoiDuJour. Par contre, gardez tout de même la copie originale de votre "prod.keys" car ces clés ne sont pas fausses et pourront peut-être vous servir à un moment ou à un autre.
Note supplémentaire: En fait, si vous avez un message du type "WARN" puis du texte ensuite, le programme indique qu'il ne reconnaît pas une clé en particulier et cela le fait s'arrêter. Du coup, il faut supprimer la ou les clés indiquées du fichier "keys.txt" puis relancer le programme.
Voici les clés nécessaires dans le fichier "keys.txt" pour ChoiDuJour:
master_key_00 = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
master_key_01 = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[... Toutes les Master keys jusqu'au firmware que vous souhaitez décrypter, par exemple pour le firmware 6.2.0 il faudra toutes les master keys jusqu'à la master_key_06]
header_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
aes_kek_generation_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
aes_key_generation_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
key_area_key_application_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXX
key_area_key_ocean_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
key_area_key_system_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXX
package2_key_source = XXXXXXXXXXXXXXXXXXXXXXXXXXXX
4) Installation du firmware et réinitialisation de la console:
Bon cette fois on y est, vous avez tout le nécessaire, les choses sérieuses peuvent commencer. Déjà, il faut activer l'affichage des fichiers cachées dans l'explorateur Windows, une petite recherche sur votre moteur de recherches préféré vous indiquera comment faire cela selon votre version de Windows. Il faut aussi activer l'option "ne pas cacher les fichiers protégés du système", ici aussi une recherche devrait faire l'affaire.
Note: Pour éteindre la Switch quand le payload Memloader a été injecté, il faut maintenir le bouton "Power" de celle-ci pendant une quinzaine de secondes se qui permet de forcer l'extinction de la console.
Note importante: Ne jamais formater le disque si cela est proposé par Windows (et cela le sera au moins trois fois pendant cette étape) au quel cas la partition deviendra inutilisable.
4.1) Initialisation des Bis Keys dans HacDiskMount:
Il faut injecter le payload Memloader et sélectionner l'option "ums_emmc" (mon script permet donc de faire cela en une fois et se sera à chaque fois qu'on utilisera Memloader pour ce tuto, il y aura toujours l'équivalent via mon script donc je ne le préciserai plus).
Ouvrir HacDiskMount en tant qu'administrateur, cliquer sur "Files", sur "Open physical drive" et faire un double cliques sur la seule option qui devrait être disponible "Linux UMS disk 0". Vous devriez maintenant voir les différentes partitions de votre Switch.
Il faut initialiser les Bis Keys dans HacDiskMount. Il faut donc faire un double clique sur les partitions que je vais citer juste après (une boîte de dialogue s'ouvrira), remplir les champs avec les Bis Keys demandées, cliquer sur "Test", si le texte "entropy..." est en vert cela signifie que les clés pour cette partition sont correct donc il faut cliquer sur "Save" puis fermer la boîte de dialogue de la partition. Les partitions à paramétrer sont donc les partitions "PRODINFO", "PRODINFOF" (les clés sont les mêmes que pour la première), "SAFE", "SYSTEM" et "USER".
Note: Si les clés que vous avez ne fonctionnent pas, inutile d'aller plus loin, veuillez retenter l'étape 2 pour dumper de nouveaux les Bis keys puis retentez cette étape.
Note 2: Si le dump des clés a été fait par Lockpick-RCM ou via Lockpick, il n'y a qu'une seule entrée pour chacune des Bis Key. Du coup, pour obtenir les clés à entrer dans HacDiskMount il faut prendre la clé demandée dans le fichier et la couper en deux parties de 32 caractères, la première correspondra à la première partie de la Bis Key dans HacDiskMount et la seconde à la seconde. Les clés du fichier "prod.keys" pour lesquelles il sera nécessaire de faire cela seront "bis_key_00", "bis_key_01", "bis_key_02" et "bis_key_03".
4.2) Restauration des partitions de l'EMMC:
Une fois les Bis Keys initialisées pour toutes les partitions, faire un double-clique sur "BCPKG2-1-Normal-Main". Le champ des Bis Keys est vide et cela est normal et doit être ainsi. Dans la section "Restore from file", cliquer sur le bouton "Browse", sélectionner le fichier "BCPKG2-1-Normal-Main.bin" se trouvant dans le dossier créé par ChoiDuJour et cliquer sur "Start". Une fois la restauration terminée, la fenêtre de cette partition peut être fermée.
Répéter l'étape précédente avec les partitions "BCPKG2-2-Normal-Sub", "BCPKG2-3-SafeMode-Main" et "BCPKG2-4-SafeMode-Sub en remplaçant le fichier à restaurer par le fichier correspondant à la bonne partition, respectivement donc "BCPKG2-2-Normal-Sub.bin", "BCPKG2-3-SafeMode-Main.bin" et "BCPKG2-4-SafeMode-Sub.bin".
Faire un double cliques sur la partition "SAFE" et une nouvelle fenêtre devrait s'ouvrir. cliquer ensuite sur "Install drivers" (le driver n'est à installer qu'une seule fois car une fois le driver installé sur le PC, il y restera et sera utilisable pour monter les autres partitions). Une fois le driver installé, choisir une lettre de lecteur, cocher la case "Passthrough zeroes" puis cliquer sur "Mount. Normalement, la partition devrait être montée et accessible en lecture et écriture par Windows via la lettre de lecteur de disque choisi. Ouvrir le nouveau lecteur dans l'explorateur et supprimer les fichiers qui s'y trouve en utilisant le raccourci "ctrl+a" pour tout sélectionner et "maj+suppr" pour supprimer définitivement les fichiers. Ensuite, aller dans le répertoire "SAFE" se trouvant dans le répertoire du package créé par ChoiDuJour, sélectionner tout les fichiers grâce au raccourci "ctrl+a", copier le tout via le raccourci "ctrl+c", retourner dans le disque monté par HacDiskMount et coller les fichiers via le raccourci "ctrl+v" (s'il n'y a aucun fichier dans le dossier du package créé par ChoiDuJour la phase de copie peut être passée). Une fois la copie des fichiers terminée, fermer la fenêtre de l'explorateur se trouvant sur ce lecteur, cliquer sur "Unmount" dans HacDiskMount, attendre que le processus se termine puis fermer la fenêtre de la partition.
On va faire la même chose qu'à l'étape précédente mais pour les partitions "SYSTEM" et "USER", en remplaçant aussi le contenu à copier par le contenu de respectivement les dossiers "SYSTEM" et "USER" du package créé par ChoiDuJour. Ceci dit, on peut avoir deux possibilités à ce moment là:
- Supprimer toutes les données (se que je recommande) et dans ce cas il faut suivre la même étape que pour la partition "SAFE" mais pour la partition choisie et donc avec le dossier correspondant dans le package créé par ChoiDuJour.
- Garder les données existantes (peut ne pas fonctionner surtout en cas de downgrade) et dans ce cas, pour la partition "SYSTEM", ne supprimer que le dossier "Contents" et le fichier "PRF2SAFE.RCV" s'il est présent (si vous avez utilisé l'option "--noexfat" pendant la création du package via ChoiDuJour il faudra aussi supprimer le dossier "save/8000000000000047") et copier le contenu du dossier "SYSTEM" du package créé par ChoiDuJour en remplaçant les fichiers/dossiers si cela est demandé. Pour la partition "USER", il faudra juste supprimer le fichier "PRF2SAFE.RCV" s'il est présent et copier le contenu du dossier "USER" du package créé par ChoiDuJour et remplacer les fichiers/dossiers si cela est demandé durant la copie.
4.3) Restauration de "BOOT0" et de "BOOT1":
Il faut injecter le payload Memloader et sélectionner l'option "ums_boot0".
Ouvrir Etcher, cliquer sur "Select image" et sélectionner le fichier "BOOT0.BIN" se trouvant dans le dossier créé par ChoiDuJour. Un dialogue d'avertissement devrait apparaître, cliquez sur "continue", ceci est normal. Dans le choix de la cible (Target), sélectionner "Linux UMS" et cliquer sur "Flash". Une fois le processus terminé, éteindre la Switch et fermer Etcher.
Maintenant, il faut réinjecter le payload Memloader et sélectionner l'option "ums_boot1".
Ouvrir de nouveau Etcher et procéder de la même façon que pour la partition "BOOT0" mais cette fois-ci il faut sélectionner le fichier "BOOT1.bin". Une fois cela terminé, éteindre la Switch et fermer Etcher.
Voilà, le firmware devrait être mis en place, maintenant voyons le premier démarrage et la conclusion de ce tuto.
5) Premier démarrage:
Note: Si vous avez utilisé EmmcHaccGen alors cette partie n'est pas nécessaire, vous pouvez juste supprimer l'auto-RCM si vous le souhaitez.
Il faut une nouvelle fois injecter le payload Memloader et sélectionner l'option "ums_sd". Ceci aura pour effet de monter la SD sur le PC comme un lecteur de disque normal.
Copier le fichier "hekate_ipl.ini" se trouvant dans le dossier "microSD" du package créé par ChoiDuJour dans le dossier "bootloader" de la SD (créer-le s'il n'existe pas). Pour ceux qui ont déjà un fichier de configuration pour Hekate, il faudra renommer le fichier actuel puis copier celui-ci. Copier ensuite le fichier "*.kip1" (par exemple pour le firmware 6.1.0 le fichier est nommé "FS600-exfat_nocmac.kip1") à la racine de la SD. Une fois cela fait, éjecter la SD (via Windows, ne pas retirer la SD de la Switch) puis éteindre la Switch.
Injecter le payload Hekate, choisir "Launch firmware" et choisir "FS_XXX" (XXX est le numéro du firmware). Si la console semble fonctionner correctement (faire la première configuration si nécessaire) (si vous avez grillés trop d'Efuses pour lancer le firmware normalement ensuite et que vous souhaitez mettre à jour vers le dernier firmware via les serveurs de Nintendo voir immédiatement la partie suivante), l'éteindre et refaire un dump de la nand mais ne pas supprimer encore l'ancien dump. Tester ensuite le démarrage de votre CFW préféré (pour ceux qui utilisait Hekate avant ce tuto pour lancer le CFW vous pouvez restaurer votre fichier d'origine) et s'il a démarré sans problème, restaurer le dump fait juste avant. A partir de ce moment et si tout fonctionne bien, l'ancien dump peut être supprimé et le dossier "nintendo" de la SD peut également être supprimé si vous avez réinitialisé complètement le système.
Note: L'étape de vérification du démarrage du CFW puis de la restauration de la nand est une étape de précaution car j'ai eu un problème une fois avec SX OS qui ne voulait pas démarrer et je n'ai jamais su d'où cela venait donc je part du principe que l'utilisation de cette méthode peut provoquer ce bug. Même si vous n'utilisez pas SX OS, testez tout de même son lancement (même sans la licence) histoire d'être vraiment certain que tout est OK pour la suite. Si vous le rencontrez, tenter de mettre à jour le firmware et si cela ne règle pas le souci, restaurez le dump que vous devriez avoir fait au début de ce tuto, cela corrigera le problème et dans ce cas, supprimer le dump fait à la fin de ce tuto et, si vous aviez l'intention de réinitialiser complètement la console au début de ce tutoriel, restaurer le dossier "nintendo" déplacé au tout début du tuto sur la SD.
Maintenant, vous pouvez désactiver l'auto-RCM qui s'est activé pendant ce tuto si vous le souhaitez, vous pouvez utiliser Hekate ou SX OS pour cela. Vous pouvez également supprimer le fichier "*.kip1" qui a été copié sur la SD.
Voilà, nous sommes arrivé à la fin de ce long tutoriel, enfin sauf pour ceux qui souhaiteraient mettre à jour vers le dernier firmware de manière officielle mais ayant grillés trop d'Efuses, pour ceux-là il reste quelques précautions à prendre.
6) Mise à jour vers le dernier firmware disponible via les serveurs Nintendo le plus proprement possible pour ceux ayant grillés leurs Efuses:
Du coup normalement on vient juste de terminer la première configuration du firmware. Une fois fait on éteint la console puis on relance Hekate, on désactive l'auto-RCM via celui-ci puis on retourne dans "launch firmware" mais cette fois on va lancer la configuration "stock" qui permet de lancer le firmware normalement. On met ensuite à jour la console normalement via les serveurs de Nintendo et on peut ensuite supprimer les fichiers copiés sur la SD à l'étape précédente (étape 6) car ils ne serviront plus à rien. Enfin, on supprime la connexion internet qui a servie à mettre à jour la console puis On dump la nand clean de notre nouveau firmware fraîchement installé et tout devrait être bon pour la suite.
7) Supprimer le premier écran de configuration (pour ceux ayant des problèmes pour connecter leurs Joycons):
Voir ce sujet en anglais.
Pour résumer il faut avoir les clés de la console dumpée avec Lockpick-RCM (voir la partie 2 de ce tutoriel), extraire de la partition SYSTEM le fichier "save/8000000000000050" avec TegraExplorer ou HacDiskMount, déchiffrer et extraire la sauvegarde avec Hactoolnet, dans le fichier extrait (dans l'exemple ci-dessous se sera le fichier "z:\syssave\file") il faut modifier le byte à l'ofset 29484 qui doit être "00" par "01" grâce à un éditeur hexadécimal (par exemple HXD), injecter le fichier ainsi modifié et resigner la sauvegarde avec Hactoolnet et enfin remettre le fichier ainsi modifié dans la partition SYSTEM.
Exemple pour la ligne de commande de Hactoolnet pour extraire la sauvegarde, remplacez les chemins par les vôtres:
Maintenant la ligne de commande pour modifier et signer la sauvegarde modifiée:hactoolnet.exe -t save -k "z:\switch\prod.keys" "z:\8000000000000050" --outdir "z:\syssave"
hactoolnet.exe -t save -k "z:\switch\prod.keys" "z:\8000000000000050" --replacefile file "z:\syssave\file"
8) Réparer des soucis sur PRODINFO:
Le symptome de ce problème est une console bloquée sur le logo Nintendo Switch, le second logo au démarage. Attention cependant, certains soucis matériels provoquent aussi ce problème donc toujours dumper la nand ou au moins PRODINFO avant de tenter de modifier cette partition.
Pour cette partie il faudra utiliser le payload Prodinfo_gen ainsi que le programme NXNandManager. Vous aurez également besoin d'un dump des clés de la console fait via Lockpick-RCM, voir la partie consacrée à ce sujet à la partie 2 de ce tutoriel.
Maintenant deux possibilités, soit vous n'avez pas de PRODINFO venant d'une console doneuse ou soit vous en avez un. Si vous n'en avez pas le port cartouche et la connexion aux serveurs Nintendo ne fonctionneront pas, si vous en avez un seul la connexion aux serveurs Nintendo ne fonctionnera pas. Dans le cas où le PRODINFO de la console doneuse vient d'un modèle patché il vous faudra également la clé "device_key_4x" de celle-ci.
- Si vous avez une console doneuse pour un PRODINFO, mettre le fichier du dump déchiffré de PRODINFO (utiliser NXNandManager pour déchiffrer le dump) qu'il faudra nommer "donor_prodinfo.bin" et le fichier "prod.keys" lié à la console sur laquelle on travail dans le dossier "switch" de la SD puis remettre la SD dans la console.
- Si le PRODINFO de la console doneuse vient d'une console patchée, insérer la clé "device_key_4x" dans le fichier "prod.keys" (ne pas supprimer l'autre clé "device_key_4x" qui s'y trouve) et nommer cette clé "donor_device_key_4x" puis sauvegarder le fichier.
- Remettre la SD dans la console.
- Lancer le payload "prodinfo_gen.bin" et choisir "Create from donor" si vous utilisez un PRODINFO d'une console doneuse, sinon utiliser "Create from scratch).
- Remettre la SD sur le PC et copier les fichiers "generated_prodinfo_from_donor.bin" (si fichier généré à partir d'un PRODINFO d'une console doneuse, sinon le fichier à récupérer est "generated_PRODINFO_from_scratch.bin") et "prod.keys" présents dans le dossier "switch" quelque part sur le PC.
- Utiliser NXNandManager (ou la "Nand Toolbox" de mon Ultimate-Switch-Hack-Script) pour chiffrer le fichier "generated_prodinfo_from_donor.bin" avec les clés contenues dans le fichier "prod.keys".
- Monter la partie "RAWNAND" sur le PC avec Memloader comme dans la partie 4.1 de ce tutoriel (ne pas prendre en compte les instructions pour HacDiskMount de cette partie du coup).
- Avec NXNandManager, ouvrir la partition ainsi montée puis restaurer le PRODINFO chiffré juste avant sur la partition PRODINFO.
Ce message a été modifié par shadow256 - 29 août 2021 - 00:48.