Extraer los datos de juegos de Nintendo Switch
¡Hola! Ya que hay algunos interesados en verle las tripas a los juegos de Nintendo Switch, os traigo cómo
descompilarlos en unos sencillos pasos. Sí, es necesario tener la Nintendo Switch hackeada. ¿Por qué?
Porque necesitaremos las claves de la consola. Podemos conseguirlas por Google en caso de no
querer/poder hackear nuestra Switch.
Paso 1. Extraer las claves:
1) Descargamos Lockpick RCM https://github.com/shchmue/Lockpick_RCM/releases y lo descomprimimos
donde queramos.
2) Descargamos TegraRCMSmash, si no lo tenemos ya: https://switchtools.sshnuke.net/
3) Abrimos TegraRCMGUI y cargamos el .bin de Lockpick.
4) Ponemos la Nintendo Switch en modo RCM y la conectamos al PC.
5) Inyectamos Lockpick y seguimos los pasos que se nos indican en la pantalla de la consola para extraer las
claves prod.keys y title.keys en la SD de la consola.
6) Apagamos la consola y metemos la SD en el PC.
Paso 2. Extraer los datos:
Aunque podemos usar Hactool de SciresM, usaremos Hactoolnet porque funciona mejor con actualizaciones.
1) Para empezar necesitaremos descargar actoolnet. Hactoolnet:
https://github.com/Thealexbarney/LibHac/releases
2) Lo descomprimimos donde queramos en nuestro PC.
3) Copiamos prod.keys y title.keys en la misma carpeta.
4) Usando nxdumptool o cualquier otro extractor (o google) obtenemos nuestro juego en formato XCI
(formato de cartucho) o NSP (formato digital). Recomiendo en NSP ya que la cabecera no está encriptada.
5) Copiamos el juego a la misma carpeta en la que tengamos Hactoolnet.
6) Clic derecho en la carpeta > Abrir ventana de comandos aquí > se nos abrirá el cmd.
7) Ponemos hactoolnet -t pfs0 "juego.nsp" --outdir "ruta\donde\descomprime".
8) Vamos a dicha carpeta y encontraremos varios archivos. Tomamos el .nca más grande de todos y lo
copiamos en otra carpeta. Recomiendo la misma de Hactoolnet.
9) Extraer los recursos de nuestro juego:
A: SOLO SI TENEMOS ACTUALIZACIÓN:
9.0) Si queremos desencriptar del todo una actualización (ejemplo: Pokémon Espada), necesitamos sacar su
NCA ahora.
9.1) Si hemos desencriptado una actualización, se nos generará un .tik. Abrimos este archivo con HxD o
nuestro gestor hexadecimal favorito.
9.2) Vamos al byte 0x180 y copiamos los 32 bytes en un archivo de texto aparte. Necesitaremos ahora esta
clave. Esta es la clave llamada RightID. Ejemplo, en Pokémon Espada es:
2D7A13C17E67C70BE4F1D0537141D99F.
9.3) Volvemos a la carpeta donde tengamos Hactoolnet.
9.4) Abrimos el cmd otra vez y ponemos: hactoolnet -k prod.keys "ruta al .nca desencriptado en el paso 8".
En caso de ser la misma: hactoolnet -k prod.keys base.nca
9.5) Apuntamos la clave que nos muestra. Esta es la TitleKey de desencriptado. En caso de Pokémon Espada:
0100ABF008968800000000000000000A
9.6) Abrimos el archivo title.keys en nuestro gestor de texto favorito. Añadimos al final: rightID = titleKey.
Ejemplo: 0100ABF008968800000000000000000A = 2D7A13C17E67C70BE4F1D0537141D99F
9.7) Guardamos el archivo.
10) Volvemos a la carpeta donde tengamos Hactoolnet, si no estamos en ella. Abrimos la ventana de
comandos una vez más.
11) Escribimos el siguiente comando:
Código:
hactoolnet --titlekeys title.keys -k prod.keys "ruta\al\update.nca" --basenca "ruta\al\base.nca" --romfsdir
"ruta\donde\exportar\romfs" --exefsdir "ruta\donde\exportar\exefs"
siendo "base.nca" la ruta al .nca del juego base, "update.nca" la ruta al .nca de la actualización y "romfs" la
ruta donde queremos descomprimir finalmente los archivos del juego.
B: SOLO SI NO TENEMOS ACTUALIZACIÓN:
9.0) Escribimos el siguiente comando:
Código:
hactoolnet --titlekeys title.keys -k prod.keys --romfsdir "ruta\donde\exportar\romfs" --exefsdir
"ruta\donde\exportar\exefs" "ruta\al\base.nca"
10-A, 10-B) Si todo ha salido bien, se nos generarán dos carpetas, exefs con el código del juego y romfs con
sus recursos gráficos. Normalmente esta segunda será la que modificaremos para crear mods gráficos y la
primera para romhacks.
Si no necesitamos la exefs (solo para la obtención de recursos y no de código), podemos quitar el siguiente
Código:
--exefsdir "ruta\donde\exportar\exefs"
Recordad que necesitáis las claves iguales o superiores a las exigidas por el juego a desencriptar. Es decir, si
Pokémon Espada exige claves 9.0.0+, no podréis descomprimirlo con claves 8.0.0 o número inferior.
¿Qué os ha parecido?
¡Un saludito!