Décrypter et Recompiler une Rom 3DS

Bienvenue du Prof Seko

Ce tutoriel aura pour but de vous aider à décrypter une Rom 3DS, éditer son contenu et vous aidera à la recompiler (ou reconstruire, si vous préférez, chacun ses goûts).
Il ouvre donc la voie vers le RomHacking 3DS, et sera nécessaire à tous les autres tutoriels.
Avec ce tutoriel, vous pourrez également lancer votre HackRom de Pokémon ROSA et XY sans devoir mettre le jeu à jour.

This turorial is also available for english users on GBA Temp.
Thanks a lot to Ericzander and BullyWiiPlaza for their help to translate this tutorial in english.

Sommaire

Matériel nécessaire

  • Une console 2DS/3DS/3DSXL/N3DS/N3DSXL avec une SysNand maximum de 10.7.
  • Seules la Gateway3DS, Sky3DS (maximum 9.2 et LayeredFS), PastaCFW, RxTools, CakeFW, et ReiNandCFW peuvent lancer des jeux modifiés.
  • La Rom 3DS à modifier (PokemonY.3ds, PokemonSaphirAlpha.3ds, etc...)
  • Une carte SD (destinée à la console) d'une capacité libre minimum de 4Go
  • CubicNinja, Ninjhax déjà installé et Decrypt9, ou une Sky3DS utilisant CubicNinja. Uniquement pour obtenir des Xorpads sur une N3DS inférieure à 9.2.
  • Un extracteur d'archive comme Winrar ou 7Zip
  • Python 2.7.7 (et pas une autre)
  • RxTool
  • Le PackHack de RomHacking
  • 3DS Simple CIA Converter. Seulement si vous souhaitez convertir votre HackRom en CIA pour un CFW.

→ Retour au Sommaire

Pré-requis

Obtenir le fichier slot0x25KeyX.bin

Dans le pack d'outil, vous trouverez un fichier slot0x25KeyX.bin.
Ouvrez le dans un éditeur hexadécimal, et remplacez les 00 avec la clé de décryptage.

La clé étant sous copyright Nintendo, je ne peux donc pas vous la partager. Vous pouvez cependant la retrouver sur le site internet du leakeur dont le nom est Govanify, ou avec une rapide recherche sur Internet.

Ce fichier slot0x25KeyX.bin, une fois complété, ressemblera à ceci :

Slot0x25KeyX

Installation de Python

Maintenant, nous allons installer la version 2.7.7 de Python.
Pour ce faire, téléchargez Python, et lancez le fichier d'installation .msi, en laissant le répertoire d'installation par défaut, C:\Python27.

Installeur Python

À l'étape suivante, activez l'option Add python.exe to Path, puis terminez l'installation.

L'installation des pré-requis est maintenant terminée.

→ Retour au Sommaire

Méthode avec Internet (plus rapide)

Note : cette méthode est plus rapide que la méthode sans Internet, du simple fait que la rom du jeu est décryptée, ce qui fait que les xorpads sont inutile, on évite donc le temps de génération et de décryptage de ces derniers.

Partie 1 : Décryptage de la Rom avec RxTools

Vous avez besoin de Rxtool, normalement téléchargé au début du tutoriel.

Une fois que vous l'avez, placez à la racine de votre carte SD les fichiers suivants :
- rxTool.dat ;
- slot0x25KeyX.bin (Si votre SysNand est 7.X ou supérieur, votre slot0x25KeyX.bin est inutile) ;
- Rom.3ds (nommée comme vous voulez, mais sans caractères spéciaux dans son nom, ce qui inclus accents et espaces).

Allumez la console, allez dans le navigateur Internet, ensuite dans les Paramètres, et effacez les cookies ainsi que l'historique. Allez ensuite à 1 de ces 3 adresses :

http://launch.rxtools.net
http://www.launch.rxtools.net
http://dukesrg.no-ip.org/3ds/go/?rxTool.dat

Maintenant, allez dans Decryption Options et lancez Decrypt CTR Titles.
Votre carte SD va à présent être scannée et toutes les roms présentes à la racine vont être décryptées.

RxTools

Une fois ceci terminé, éteignez votre console, enlevez votre carte SD, et remettez-la dans le PC.
Votre fichier Rom.3ds est à présent décrypté.

Partie 2 : Tous les script en 1 seul

Acceuil du Batch

Rendez vous dans le dossier PackHack et collez-y votre rom décryptée.
Double-cliquez sur le fichier HackingToolkit.bat, appuyez sur D, validez avec Entrée, et collez le nom de votre rom décryptée (sans le .3ds).
Maintenant ne touchez plus à rien jusqu'à ce que ce soit fini.

3 fichier seront crées :
- DecryptedExHeader.bin
- DecryptedExeFs.bin
- DecryptedExeFS.bin

Le contenu de votre ExeFS sera automatiquement extrait dans un dossier nommé exe, et le contenu du RomFS dans un dossier romfs.
Tout est à présent terminé, vous êtes prêt pour éditer votre jeu, rendez-vous à la partie Édition du jeu.

→ Retour au Sommaire

Méthode sans Internet

Partie 1 : Obtenir le fichier Ncch et les Xorpads

Obtenir les Xorpads en V4.1-V4.5 (O3DS seulement)

Prenez votre fichier Rom.3ds, renommez-le avec un nom simple (comme par exemple PokemonSaphirAlpha.3ds) et déplacez-le dans le dossier PackHack.
Attention : Pour éviter tout problèmes, ne mettez pas de caractères spéciaux dans le nom (comme les espaces et accents) !
Glissez-Déposez votre rom sur le fichier ctrKeyGen_Normal.py. Un fichier ncchinfo.bin est généré.

Copiez à la racine de votre carte SD les fichiers suivants :
- Launcher.dat ;
- slot0x25KeyX.bin ;
- ncchinfo.bin.
N'insérez pas de linker dans la console, juste la carte SD avec les fichiers mentionnés.
Allez dans les Paramètres de la Console, Autres Paramètres, Profil. Pressez alors le bouton L et cliquez sur Profil Nintendo DS en maintenant le bouton L appuyé.

Launcher

Un menu avec 5 options va apparaître, vous pouvez alors relâcher le bouton L. Placez le curseur sur NCCH padgen et appuyez sur A.
Patientez pendant la création des Xorpads, cela peut prendre un certain temps selon le poids du jeu. Une fois les Xorpads générés, éteignez la console et insérez la SD dans votre PC.
Copiez les fichiers .xorpad générés à l'intérieur du dossier PackHack.

Obtenir les Xorpads en 9.2 (O3DS / N3DS)

Prenez votre fichier Rom.3ds, renommez-le avec un nom simple (comme par exemple PokemonSaphirAlpha.3ds) et déplacez-le dans le dossier PackHack.
Attention : Pour éviter tout problèmes, ne mettez pas de caractères spéciaux dans le nom (comme les espaces et accents) !
Glissez-Déposez votre rom sur le fichier ctrKeyGen-Decrypt9.py. Un fichier ncchinfo.bin est généré.

Copiez les fichiers slot0x25KeyX.bin et ncchinfo.bin dans un dossier Decrypt9, lui-même à la racine de votre carte SD. Mettez le dossier Decrypt9 fourni (celui avec les fichiers 3DSX et SDMH) dans un dossier 3ds, lui-même à la racine de votre carte SD. Lancez CubicNinja, puis démarrez Ninjhax et enfin lancez Decrypt9. Choisissez NCCH padgen et appuyez sur A.
Patientez pendant la création des Xorpads, cela peut prendre un certain temps selon le poids du jeu. Une fois les Xorpads générés, éteignez la console et insérez la SD dans votre PC.
Copiez les fichiers .xorpad générés à l'intérieur du dossier PackHack.

Partie 2 : Tous les scripts en 1

Double-cliquez sur le fichier HackingToolkit.bat.
Entrez SDK6 (pour un jeu SDK6 ou moins) ou SDK7 (pour un jeu SDK7 ou plus) :

Batch

Note : Vous pouvez utiliser 3DSExplorer pour trouver la version du SDK utilisé.
Entrez le nom du fichier et le TitleID de votre jeu/fichier :

Batch

Choisissez si vous souhaitez décompresser ou non le fichier code.bin :

Batch

Lisez bien toute les étapes.
3 fichier seront crées :
- DecryptedExHeader.bin
- DecryptedExeFs.bin
- DecryptedExeFS.bin

Le contenu de votre ExeFS sera automatiquement extrait dans un dossier nommé exe, et le contenu du RomFS dans un dossier romfs.
Tout est à présent terminé, vous êtes prêt pour éditer votre jeu, rendez-vous à la partie Édition du jeu.

→ Retour au Sommaire

Édition du jeu

Faites ce que vous voulez. Éditez les musiques, les textures, ect.
Je ne vais pas apprendre à le faire. Si vous êtes ici, vous devriez savoir ce que vous souhaitez faire.

Vous êtes prêt pour reconstruire votre jeu, rendez-vous en partie Recompilation du jeu.

→ Retour au Sommaire

Recompilation du jeu

Partie 1 : Reconstruction du RomFS

Vous devez à présent reconstruire le RomFS.
Ouvrez RomFS Builder, puis avec ce programme, ouvrez le dossier romfs (lui même dans le dossier PackHack), et cliquez sur GO.
Patientez, et quand cela vous est proposé, enregistrez à la racine du dossier PackHack avec le nom romfs.bin :

RomFs Builder

Terminé !

Partie 2 : Reconstruction de la Rom

3DS Builder

Ouvrez le dossier romfs, ou cochez Use Pre-Built Romfs et sélectionnez un fichier romfs.bin.
Ouvrez le dossier exe, ou cochez Use Pre-Built Exefs et sélectionnez un fichier exefs.bin.
(Soit un ExeFS reconstruit, soit celui d'origine et décrypté).
Ouvrez le fichier DecryptedExHeader.bin du jeu que vous souhaitez reconstruire.

Si le jeu à reconstruire est sorti avant ce logiciel, alors 3DS Builder devrait automatiquement reconnaitre le nom du jeu et vous proposez de charger le serial correspondant. Vous pouvez également faire un custom serial, en entrant ceci : (CTR|KTR)-(P|U|N)-([A-Z0-9]){4}
Choisissez le dossier de destination en cliquant sur Choose Save Loc et le nom de sortie du fichier, et cliquez sur GO, le programme va alors se charger de reconstruire le jeu dans un fichier .3ds.

→ Retour au Sommaire

Par Asia81


Crédits :
CTRTool : Neimod
3ds_extract.py : Nagato
3DSExplorer Mod : Elisher & 3DSGuy
ctrulib : Smealum
Makerom : 3dsguy
3DS Multi Decryptor (CtrKeyGen) : Relys
Padxorer : xerpi
RomFS Builder : SciresM
RxTools : Roxas75
Decrypt9 : Archshift
Decrypt9 (3DSX et scripts Python) : d0k3 et Shadowtrance
3DS Simple CIA Converter : RikuKH3


Remerciements à :
Megadrifter
Stratovarius
Reisyukaku
Weby
Guitoh
Apache Thunder
Ericzander
BullyWiiPlaza

→ Retour au Sommaire

















































Achetez Mario Odyssey 44.00E
Achetez la Nintendo Switch + Mario Odyssey 349,99E
Achetez Pokémon Ultra Soleil sur 3DS 33.99E
Achetez Pokémon Ultra Lune sur 3DS 33,99E
Modifier vos jeux 3DS en toute sécurité avec la Power Save 16,99E