miércoles, 16 de marzo de 2016

Nintendo sucks (Episodio 2.1 OTP).

Hola que tal ¿Cómo están? Bienvenidos sean de nuevo a nuestro blog.

En este nuevo episodio de la saga "Nintendo sucks" revisaremos la extracción de la OTP de nuestras consolas 3DS.

¿Recuerdan que les comenté que había escrito una guía extensiva (y bastante genial) para realizar la extracción de la OTP y la compilación del a9lh para 3DS? Pues bien, después de mucho buscar en la computadora no fui capaz de encontrar el archivo de texto donde la había guardado X_x. Sospecho que la última limpieza de archivos se lo llevó como damnificado.

Así que, pues aprovecharé esta entrada para explicar los pasos clave del proceso, quizás no con tanto detalle como nos hubiere gustado (como estaban en la guía super-duper-genial), pero trataré de no dejar cabos sueltos para que puedan llevar a cabo el procedimiento sin inconvenientes.

Antes que nada, les recuerdo que las herramientas y dumpeos que se anexan en esta guía funcionan sólo en consolas 3DS (versiones 3DS, 3DSXL y 2DS) de la región americana (US). Además de que este proceso en particular no es aplicable a las variantes "New 3DS".

Los materiales necesarios para aplicar el procedimiento son:

  • Una consola 3DS con firmware 4.5, pues emplearemos de forma exhaustiva el exploit MSET. 
  • Una computadora.
  • Una flashcard compatible con modo DS/DSi que sea reconocida por la consola y que cuente con su firmware en una memoria MicroSD. Su servidor empleó una R4i SDHC Snoopy 2014, que es reconocida por la consola como el juego Touch Bomberman Land.
  • Una memoria SD, completamente limpia (sin EMUNAND, sin archivos ni particiones extrañas) formateada en FAT32, de por lo menos 4GB de capacidad. Recomiendo que sea una memoria distinta a la que actualmente emplean para jugar.
  • Cargador de batería de la consola, ya que el proceso es algo demorado (aproximadamente dos y media horas).
  • Conexión a internet inalámbrico. Se tratará de emplear lo menos posible, sin embargo hay pasos en los que será inevitable su uso.
  • Un lector de memorias MicroSD y SD.
  • Mucho espacio en el disco duro de nuestra computadora para guardar los varios respaldos de la EmuNAND y la SysNAND.
  • Un lugar cómodo para trabajar.
  • Mucha paciencia.

Antes que nada, comparto el paquete de archivos que se utilizarán.

¿Cómo llevar a cabo la guía?

Para emplear los archivos del paquete se deben descomprimir. Dentro del paquete encontraremos una serie de carpetas numeradas con el número del paso que corresponde y dentro de cada una de ellas tendremos una carpeta con los archivos que deben copiarse a la raíz de la memoria SD de la consola y a la raíz de la memoria MicroSD de la Flashcard.

Se utilizarán de forma exhaustiva algunos procedimientos, por lo cual se explicará a continuación a qué se refiere cada uno de esos procedimientos.

Activar exploit MSET.
Cuando en la guía aparezca este procedimiento, se tiene que hacer lo siguiente:
  1. Encender la consola y entrar al menú "Configuración de la consola" (tiene el icono de una llave inglesa).
  2. Presionar en el botón "Otras opciones" (esquina inferior derecha con el icono naranja de una consola y una llave inglesa).
  3. Seleccionar "Perfil".
  4. Seleccionar "Perfil de Nintendo DS".
Crear imagen de SYSNAND o EMUNAND.
Cuando en la guía aparezca este procedimiento, se tiene que hacer lo siguiente:
  1. Iniciar el programa Decrypt9 o Decrypt9WIP (se especificará en cada caso la versión y el entrypoint que se empleará).
  2. Seleccionar en el menú del programa el menú SysNAND/EmuNAND Options (dependerá del tipo de NAND con que se trabajará).
  3. Seleccionar la opción NAND Backup.
  4. Seleccionar un nombre de archivo para la imagen de la NAND (sólo en Decrypt9WIP, en Decrypt9 se emplea por defecto el nombre de archivo nand.bin).
  5. Iniciar el proceso (demora unos pocos minutos). Se puede verificar el estado de la creación de imagen con el contador de porcentaje que aparece en la esquina inferior derecha de la pantalla superior.
Inyección de imagen de SYSNAND o EMUNAND.
Cuando en la guía aparezca este procedimiento, se tiene que hacer lo siguiente:
  1. Iniciar el programa Decrypt9 o Decrypt9WIP (se especificará en cada caso la versión y el entrypoint que se empleará).
  2. Seleccionar en el menú del programa el menú SysNAND/EmuNAND Options (dependerá de dónde queramos inyectar la imagen de NAND, si se inyectará la imagen a la EmuNAND o a la SysNAND).
  3. Seleccionar la opción NAND Restore.
  4. Seleccionar un nombre de archivo para la imagen de la NAND (sólo en Decrypt9WIP, en Decrypt9 se emplea por defecto el nombre de archivo nand.bin).
  5. Se ingresa el código de seguridad que aparece en pantalla (sólo en Decrypt9WIP).
  6. Iniciar el proceso (demora unos pocos minutos). Se puede verificar el estado de la inyección de imagen con el contador de porcentaje que aparece en la esquina inferior derecha de la pantalla superior.
Aplicar downgrade a EMUNAND.
Como medida de seguridad en todo el proceso y para minimizar las posibilidades de estropear el sistema de la consola, todas las operaciones de "downgrade" (bajar la versión de la consola) se efectuarán sobre la EmuNAND. De esta forma podremos probar que el procedimiento de downgrade se ha llevado a cabo con éxito arrancando la EmuNAND y verificando la versión de sistema de la misma. Sin embargo, cuando se realice la operación de downgrade a la versión 2.1 no podremos verificar la versión de la EmuNAND, pues ningún CFW es compatible con dicha versión.

El proceso de downgrade a EmuNAND implica los siguientes pasos:
  1. Verificar que no existe en la raíz de la memoria SD de la consola la carpeta "updates", si existe, se tiene que borrar.
  2. Copiar a la raíz de la memoria SD de la consola la carpeta "updates" correspondiente al paso en que nos encontremos. La carpeta "updates" contiene una serie de archivos CIA que componen el firmware de una versión específica de la consola.
  3. Arrancar el CFW para iniciar la EmuNAND.
  4. Arrancar el SysUpdater (previa instalación en la consola).
  5. Aparece la advertencia de presionar el botón HOME si estamos usando la versión CIA del programa (como en nuestro caso), por lo que lo presionamos y luego presionamos en Reanudar para regresar al programa. Desconozco si esto tiene alguna utilidad, pero más vale seguir las instrucciones.
  6. Presionar el botón Y.
  7. Esperar a que termine el proceso de downgrade (demora cerca de 20 minutos).
  8. Al finalizar el downgrade, la consola se reiniciará. Debido a que la SysNAND no se ha tocado, el sistema arrancará con normalidad y nuestra EmuNAND tendrá la versión objetivo del downgrade.
Bueno, pues si todo está listo, manos a la obra.

Paso 1. Creación de una EMUNAND.
Objetivo: Crear una imagen de sistema en la memoria SD de la consola (EMUNAND).
  1. Copiar el archivo MT_INSTALLER.NDS a la raíz de la memoria MicroSD de la Flashcard.
  2. Copiar el archivo LAUNCHER.DAT a la raíz de la memoria SD de la consola.
  3. Insertar la Flashcard y la memoria SD a la consola.
  4. Iniciar la Flashcard y ejecutar el archivo MT_INSTALLER.NDS. Nos mostrará una pantalla azul donde nos pedirá confirmar la región de la consola (USA en nuestro caso) y procederá a configurar el exploit MSET.
  5. Activar el exploit MSET.
  6. Veremos la pantalla de las herramientas Gateway. Nos desplazamos hasta la penúltima opción (Format EmuNAND). Con esto crearemos una EmuNAND nueva en la tarjeta SD.
  7. Al terminar el procedimiento apagamos la consola.

Paso 2. Instalación de CFW rxTools.
Objetivo. Instalar en la tarjeta de memoria un CFW para efectuar tareas de preparación y posibilitar la ejecución de varias herramientas que se necesitarán posteriormente.
  1. Borrar los archivos en la memoria SD y en la memoria MicroSD de la Flashcard.
  2. Copiar el archivo rxinstaller.nds a la raíz de la memoria MicroSD de la Flashcard.
  3. Copiar los archivos firmware.bin, rxTools.dat y slot0x25KeyX.bin a la raíz de la memoria SD de la consola.
  4. Insertar la Flashcard y la memoria SD a la consola.
  5. Iniciar la Flashcard y ejecutar el archivo rxinstaller.nds. Nos mostrará una pantalla donde nos informará sobre la instalación del CFW y procederá a configurar el exploit MSET.
  6. Activar el exploit MSET.
  7. Se iniciará el CFW rxTools. Se crearán unos archivos en la memoria SD y arrancará la EmuNAND.
  8. Habilitar la conexión de internet.
  9. Ir a "Configuración de la consola" (verificar que la versión de sistema tiene las letras RX-E), "Otras opciones", "Actualizar".
  10. Procedemos a actualizar la EmuNAND a la versión más reciente.
  11. Al terminar el procedimiento la consola se reiniciará y arrancará desde SysNAND.
  12. Activar el exploit MSET.
  13. Presionar el botón R para ingresar a las opciones del rxTools.
  14. Seleccionar "Other Options".
  15. Seleccionar "Install FBI over Health&Safety app".
  16. El proceso fallará, pero nos permitirá conocer la región y versión de los archivos que utilizaremos en el próximo paso. Hay que anotar estos datos.
  17. Salimos de las opciones y seleccionamos Launch rxMode.
  18. La EmuNAND arrancará y tendremos aceptar algunos avisos de la nueva versión instalada.
  19. Apagamos la consola.
Paso 3. Inyección del FBI en la EmuNAND.
Objetivo. Instalar en la EmuNAND la aplicación FBI, que nos permitirá instalar aplicaciones como el sysUpdater, que se empleará para hacer downgrade.
  1. Copiar en la raíz de la memoria SD los archivos fbi_inject.app y fbi_inject.tmd correspondientes a nuestra versión y región de consola. Asímismo el archivo sysUpdater.cia.
  2. Activar el exploit MSET.
  3. Presionar el botón R para ingresar a las opciones del rxTools.
  4. Seleccionar "Other Options".
  5. Seleccionar "Install FBI over Health&Safety app".
  6. En esta ocasión el proceso debe ser satisfactorio.
  7. Salimos de las opciones y seleccionamos Launch rxMode.
  8. La EmuNAND arrancará y podremos verificar que al iniciar la aplicación "Información sobre salud y seguridad" en realidad arrancará el FBI, un programa que nos permite instalar aplicaciones en formato CIA.
  9. Seleccionar el archivo sysUpdater.cia e instalarlo con las opciones por defecto. Si al tratar de instalar el archivo sysUpdater.cia nos salta un error, debemos hacer lo siguiente:
    1. Apagar la consola y conectar la memoria SD en la computadora.
    2. Navegar dentro de la carpeta Nintendo 3DS hasta la tercera orden de jerarquía y encontremos la carpeta "extdata". Si dentro de la carpeta Nintendo 3DS hay varias subcarpetas con claves numéricas, debemos repetir el proceso para cada una.
    3. Crear una carpeta llamada dbs.
    4. Dentro de la carpeta dbs crear dos archivos vacios llamados title.db e import.db.
    5. Insertar la tarjeta en la consola y reiniciarla.
    6. Activar el exploit MSET.
    7. Ir a "Configuración de la consola", "Gestión de datos", "Nintendo 3DS".
    8. La consola nos informará que la información de la base de datos está corrupta y nos dará la opción de reconstruirla. Seleccionamos Aceptar.
    9. Volvemos a intentar instalar el sysUpdater,cia, en esta ocasión no debería dar error.
  10. Salir del FBI (presionando la tecla HOME) y verificar que aparece un regalo en el menú de la consola.
  11. Abrir el regalo y verificar que arranca el sysUpdater.
  12. Apagamos la consola.
Paso 4. Instalación de Decrypt9WIP y creación de imágenes de NAND.
Objetivo. Instalar en el exploit MSET la aplicación Decrypt9WIP que nos permitirá manipular las NAND de nuestra consola. Este paso es sumamente importante.
  1. Copiar en la raíz de la memoria SD el archivo Decrypt9WIP.dat.
  2. Copiar en la raíz de la memoria MicroSD de la Flashcard el archivo Decrypt9WIP.nds.
  3. Insertar la Flashcard y la memoria SD a la consola.
  4. Iniciar la Flashcard y ejecutar el archivo Decrypt9WIP.nds. Nos mostrará una pantalla donde nos informará sobre la instalación de la aplicación en el exploit MSET.
  5. Reiniciar la consola.
  6. Activar el exploit MSET.
  7. Nos aparecerá el menú del Decrypt9WIP.
  8. Creamos una imagen de la EmuNAND y de la SysNAND.
  9. Apagamos la consola y copiamos ambas imágenes a la computadora. Recomiendo colocarlas en una carpeta acompañadas de una descripción de qué versión corresponde a cada imagen.
  10. Mantener una copia de esta EmuNAND en la raíz de la memoria (anotar el nombre del archivo para evitar confundirla).
Paso 5. Downgrade de EmuNAND (versión 9.2).
Objetivo. Bajar la versión de sistema de la EmuNAND a la versión 9.2, que nos permitirá utilizar más entrypoints y poder ejecutar aplicaciones con extensión 3dsx.
  1. Aplicar downgrade a EMUNAND. 
  2. Al concluir el downgrade se reinicia la consola y podemos verificar la que la versión de la EmuNAND sea la 9.2 si activamos el exploit MSET.
  3. Reiniciamos la consola.
  4. Iniciar la Flashcard y ejecutar el archivo Decrypt9WIP.nds. Nos mostrará una pantalla donde nos informará sobre la instalación de la aplicación en el exploit MSET.
  5. Reiniciar la consola.
  6. Activar el exploit MSET.
  7. Arrancará el Decrypt9WIP.
  8. Creamos una imagen de la EmuNAND. Hay que tener cuidado de guardar con un nuevo nombre de archivo y no confundirla con la imagen de respaldo que hicimos con anterioridad.
  9. Apagamos la consola y hacemos una copia de seguridad de nuestra nueva EmuNAND (versión 9.2) en la computadora. Hay que tener precaución de distinguir esta imagen de la otra que generamos en el paso 4. Si la capacidad de nuestra memoria lo permite, mantendremos ésta imagen en la misma, pues se empleará para restaurar nuestro sistema al finalizar la extracción de la OTP.
Paso 6. Downgrade de EmuNAND (versión 2.1).
Objetivo. Bajar la versión de sistema de la EmuNAND a la versión 2.1, que nos permitirá acceder al OTP de nuestra consola.
  1. Borrar de la raíz de la memoria SD la carpeta "updates" existente.
  2. Asegurarnos que tenemos en la memoria el respaldo de la EmuNAND más actualizada (la que se generó en el paso 4).
  3. Inyectamos la imagen de la EMUNAND generada en el paso 4 a la EmuNAND. Con esto tendremos la consola en la configuración con que se inició el paso 5.
  4. Aplicamos downgrade a la EMUNAND.
  5. Al concluir el downgrade se reinicia la consola, sin embargo en esta ocasión ya no podremos arrancar desde la EmuNAND, ya que ningún CFW soporta EmuNAND en versión 2.1.
  6. Repetimos los pasos 5.3, 5.4, 5.5, 5.6, 5.7 y 5.8.
  7. Al terminar el procedimiento no salimos del Decrypt9WIP, sino que regresamos al menú principal de la aplicación y presionamos SELECT para desmontar la memoria SD.
  8. Extraemos la memoria SD de la consola (sin apagarla) y hacemos una copia de seguridad de nuestra nueva EmuNAND (versión 2.1) en la computadora.
  9. La EmuNAND (versión 2.1) que queda en la memoria SD hay que renombrarla a SysNAND.bin.
  10. Reinsertamos la tarjeta SD a la consola, presionamos el botón B e Inyectamos la imagen de la EMUNAND (renombrada a SysNAND.bin) a la SysNAND. Este es uno de los pasos más delicados, por lo que conviene hacerlo con calma verificar todo antes de realizar la inyección y conectar la consola a la corriente eléctrica para evitar problemas de batería baja.
  11. Al terminar el proceso reiniciamos la consola y verificamos que la versión de sistema sea 2.1.
  12. Apagamos la consola.
Paso 7. Extracción de la OTP.
Objetivo. Extraer la OTP de nuestra consola.
  1. Borrar de la raíz de la memoria SD la carpeta "updates" existente (ya no se empleará más) y copiar el archivo arm11.bin correspondiente a este paso.
  2. Insertamos la memoria SD en la consola y la encendemos.
  3. Habilitamos el internet y nos dirigimos a la página  http://dukesrg.github.io/2xrsa.html?arm11.bin desde el navegador de la consola.
  4. Las pantallas parpadearán por un momento y se verá un barrido blanco en la pantalla inferior. Esperamos unos cinco segundos y forzamos el apagado de la consola.
  5. Conectamos la memoria SD a la computadora y comprobamos que exista un archivo llamado "a9f.bin" de 256 bytes.
  6. Renombramos el archivo a "otp.bin" y lo guardamos como oro en paño.
Paso 8. Restauración de la consola.
Objetivo. Revertir la consola a un estado que nos permita la instalación del a9lh.
  1. Borrar de la raíz de la memoria SD todos los archivos, excepto los respaldos de la EmuNAND generados en el paso 4 (versión más actual de sistema) y el paso 5 (versión 9.2).
  2. Renombramos a la EmuNAND del paso 5 (versión 9.2) "nand.bin", mientras que la EmuNAND del paso 4 (versión más actual) como "emunand.bin".
  3. Copiamos los archivos "arm9.bin" y "arm11.bin" a la raíz de la memoria SD.
  4. Arrancamos la consola, activamos el internet y volvemos a ingresar a la página http://dukesrg.github.io/2xrsa.html?arm11.bin desde el navegador de la consola.
  5. Esto activará el Decrypt9, desde el cual procedemos a Inyectar la imagen de SYSNAND y de EMUNAND.
Al concluir tendremos en nuestra consola la versión de sistema 9.2 y en la EmuNAND la versión más actual (10.6 al momento de escribir esto). Además tendremos en la computadora nuestro preciado archivo OTP.

Si bien es cierto que este proceso es muy engorroso (hay guías con menos pasos en internet), es bastante seguro. Su servidor lo ha repetido en tres consolas distintas sin contratiempos. Además se minimiza el riesgo durante el paso más crucial, el downgrade a la versión 2.1. Es posible ejecutar el downgrade de forma directa en la SysNAND, pero cualquier fallo puede estropear el proceso y el sistema, lo que nos obligaría a utilizar el Hardmod y nos complicaría las cosas.

En la próxima entrada detallaré las alternativas de compilación (local o en línea) del a9lh y les compartiré configuración que su servidor emplea para tener acceso a la mayoría de las cosas que ofrece la scene, además de que listaré los pros y contras de las configuraciones más comunes.

Espero que el proceso salga de acuerdo a lo previsto y no encuentren ningún inconveniente.

Estamos en contact!

    Soundblaster Audigy SE front panel.

    Hola, ¿Cómo están? Bienvenidos sean de nueva cuenta. Recientemente me puse a la labor de reacondicionar una computadora con las piezas que...