Switch

Switch 2 : un fork de ns2jb dumpe le code du système

Par Tgames · · 3 min de lecture

Le fork de ns2jb tenu par kurumuz copie le code des programmes système de sa propre Switch 2, et fonctionne sur les consoles passées à la révision « (B) ».


Un fork plus fiable que l’original

Créé le 23 octobre 2026 sur GitLab à partir de ns2jb, le jailbreak de pepsipu, le dépôt de kurumuz a reçu une vingtaine de modifications en deux jours, dont plusieurs de crueter. Le dépôt d’origine, lui, n’a plus bougé depuis le 22 octobre.
Première raison d’être de ce fork : son README décrit deux organisations de la mémoire, observées avant et après l’installation de la mise à jour de prise en charge des cartes microSD Express. Sur une console à jour, l’original pouvait réussir l’exploit puis échouer au lancement de son programme natif ; le fork s’adapte aux deux cas. Pour savoir où en est sa console, le README indique d’ouvrir, dans les paramètres de la console, le menu d’assistance et de santé et sécurité (« Support/Health & Safety » en anglais) et de regarder la ligne 3 : sur la console de test, elle affichait (B) après la mise à jour.
Le fork corrige aussi des échecs évitables :
  • il fouille moins longtemps la mémoire et accorde plusieurs essais, en nombre limité, aux étapes qui dépendent du minutage ;
  • il accepte un motif mémoire valide que l’original rejetait, et range les fichiers temporaires laissés par une séance interrompue ;
  • un contrôle d’espace libre qui refusait une sauvegarde ayant exactement la place nécessaire est réparé ;
  • l’ordinateur patiente désormais jusqu’à 3 minutes pour une requête et 2 minutes pour chaque réponse de la console.
Le README prévient : l’exploit reste sensible au minutage, et ces changements ne garantissent pas la réussite sur toutes les consoles.


Le dump du code système

Le 24 octobre, kurumuz a ajouté un script de dump. Il déroule d’abord l’exploit complet et vérifie que les instructions modifiées dans le module fs ont été remises en place. Il demande ensuite au service NCM la liste des programmes système installés, puis lit, pour chacun, les fichiers main (le code) et main.npdm (les permissions) quand ils sont accessibles.
Le résultat arrive sur l’ordinateur, avec un inventaire au format JSON : la liste des titres, l’empreinte SHA-256 de chaque fichier, et les programmes qu’il n’a pas pu lire. Le README parle de capturer le code installé sur votre propre console. Ce n’est donc pas une copie intégrale de la mémoire interne : ce sont les exécutables du système, la matière première de la rétro-ingénierie.
Une précaution à connaître : au démarrage, l’outil efface dans les dossiers save et tmp de SmileBASIC tout fichier ou dossier dont le nom commence par NS2_GAP, sans regarder son contenu.


Une connexion maintenue pour les développeurs

Le 25 octobre, une option garde ouverte, après la vérification, la connexion entre SmileBASIC et l’ordinateur. Elle permet de lire et de modifier la mémoire des processus en direct : des outils tiers peuvent s’y brancher. Le README est clair sur les risques : une mauvaise requête peut planter le logiciel ou la console, et le pont n’a aucune authentification. Il n’écoute que sur l’ordinateur lui-même, qu’il faut donc choisir de confiance. Tout s’arrête si l’on ferme SmileBASIC ou si l’on redémarre.


Ce qui ne change pas
  • il faut toujours SmileBASIC 4 en 4.4.9, le système 23.0.1 et un ordinateur sous macOS ou Linux avec Node.js 22 ;
  • le jailbreak reste tethered : tout est à refaire après chaque redémarrage ;
  • il n’existe toujours aucun custom firmware pour la Switch 2, et rien ne permet de lancer un jeu copié.
Ce dump du code système vient après les premiers dumps de jeux, rendus possibles par la faille que nous détaillons dans notre explication de ns2jb. Si la scène vous intéresse, ne mettez pas votre Switch 2 à jour. Les questions ont leur place dans la section Questions/Aide Switch & Wii U.


Sources : Fork de kurumuz (GitLab) · Historique des modifications · ns2jb de pepsipu (GitLab)

Aucun commentaire