Registrarse

[Nintendo Switch] 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 decompilarlos 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 TegraRCMSmash 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 hactoolnet: 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) Click 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) Si queremos desencriptar del todo una actualización (ejemplo: Pokémon Espada), necesitamos sacar su NCA ahora.

Opcional (Solo para cuando tenemos actualización):
9.1) Si hemos desencriptado una actualización, se nos generará un .tik. Abrimos este archivo con HxD o vuestro gestor hexadecimal favorito.
9.2)Vamos al byte 0x180 y copiamos los 32 bytes en un archivo de texto a parte. Necesitaremos ahora esta clave. Esta es la clave llamada Right ID. 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) En caso de tener una actualización usaremos:

hactoolnet --titlekeys title.keys -k prod.keys "Update.nca" --basenca "Base.nca" --romfsdir "romfs"

y en caso de no tenerla:

hactoolnet --titlekeys title.keys -k prod.keys --basenca "Base.nca" --romfsdir "romfs"


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.

12) Si todo ha salido bien, se nos generará una carpeta exefs con el código del juego y romfs con sus recursos gráficos. Normalmente este segundo es el que modificaremos para crear mods gráficos y el primero para romhacks.


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 inferior.

¿Qué os ha parecido?

¡Un saludito!
 
Arriba