Jump to content


MSET9 2.0

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter, Mastodon o Threads!

MSET9 es un exploit primario ARM9 para 3DS que puede ser lanzado con sólo datos de nombre de archivo añadidos a la tarjeta SD insertada.

Cómo funciona

En la implementación de FSPXI:EnumerateExtSaveData (llamada por MSET para analizar los ID de extdata de 3DS para la gestión de datos), no se comprobaba el valor de retorno de la llamada a la función interna P9 para abrir un directorio (al enumerar el contenido del directorio extdata). Por lo tanto, si la llamada falla, se utilizará un puntero no inicializado en la pila para una llamada vtable.

Como tal, un archivo que comienza con 8 dígitos hexadecimales puede bloquear process9 si se coloca directamente dentro del directorio extdata. Puede bloquearse de varias formas basadas en sutiles diferencias en la forma en que el usuario desencadena el evento de bloqueo.

Mientras que en la mayoría de los casos conduce a referencias nulas, en un contexto específico, process9 salta directamente a una cadena ID1 que se mantiene en la memoria ARM9. Sorprendentemente, la 3DS no discierne qué caracteres se utilizan para el nombre del directorio ID1 en la SD, sólo requiere exactamente 32 caracteres. Esto permite al atacante insertar instrucciones arm en el nombre de directorio ID1 unicode y tomar el control del ARM9, y por lo tanto, el control total de la 3DS.

¿Puedo hacerlo?

  • Necesitas una 3ds 11.4-11.17, de cualquier región (probablemente, no las he probado todas)
  • Un lector USB a SD
  • PC Windows/Linux (esto podría ampliarse a MAC y/o Android en algún momento, si es posible)

PREGUNTAS FRECUENTES

P: ¿Esto instala boot9strap y escribe en la NAND?
R: ¡Sí! ¿Qué más vas a hacer con el control de ARM9, a9lh? pastaCFW? sketchy tetris clones" 😛

P: ¡Eso suena peligroso, Zoogie!
R: Sí, lo es, pero la escena lleva años haciendo estas cosas peligrosas. Si te preocupa, no pases de la fase beta.

P: ¿Qué pasa si no desinstalo el exploit cuando termine?
R: Tendrás problemas para ejecutar los títulos instalados anteriormente, además de fallos aleatorios en el FBI y en la configuración del sistema. ¡Así que asegúrate de limpiar el exploit! (la opción 4 en el menú mset9.py hace esto)

P: El archivo que activa el exploit (002F003A.txt) ... parece ... una dirección virtual, ¿no?
R: Son los caracteres ":/", algo que no podemos mostrar en un nombre típico de archivo/carpeta. Un hecho conveniente de ese archivo (además de desencadenar la caída general) es que los primeros 8 caracteres de ese nombre de archivo hexadecimal se convierten a un u32 que resulta existir 0x44 pasado SP, por lo que puedo usarlo para rellenar los caracteres que faltan en la ruta de archivo de carga útil "sdmc??b9", y mantener feliz al sistema operativo del PC.

P: Sugieres en la explicación del hack anterior que FS_EnumerateExtData es la función responsable de permitir el crash en MSET/ARM9, ¿podría ser llamada en userland homebrew para hacerse cargo de ARM9?
R: ¿Quizás? Jugué brevemente con esta misma idea, pero no pude encontrar un contexto de crash que pudiera controlar, a diferencia del método pre-userland que es MSET9. Tal vez esto podría ser un ejercicio para que el usuario dedicado explore y desarrolle esta variante potencial de MSET9. Podría ser útil más adelante.
Dato curioso: El archivo hexadecimal de 8 dígitos, si se deja en extdata, también bloqueará FBI al seleccionar la opción "Ext Save Data" en su menú principal. Es el único homebrew que conozco que llama a FS_EnumerateExtData.

P: Acortaste SafeB9SInstaller.bin a SafeB9S.bin, ¿por qué?
R: Mantiene el estándar de nombre de archivo 8.3 de FAT que evita Nombres de Archivo Largos, y por lo tanto permite un ahorro significativo de espacio en la biblioteca FatFs. "B9" también se utiliza por el mismo motivo, aunque no está relacionado con FatFs. En este exploit es de vital importancia que el código ocupe poco espacio.

P: ¿Por qué no funciona en MAC?
R: Porque se niega a renderizar la siguiente locura unicode: �﫿餑䠇䚅敩ꄈ∁䬅䞘䙨䙙꫿ᰗ䙃䰃䞠䞸退ࠊꁱࠅ캙ࠄsdmc退ࠊb9
( ͡° ͜ʖ ͡°)

MSET9 es una aplicación creada por Zoogie.


Que novedades incluye la versión 2.0

Released

  • Lista de cambios no disponible por el momento.

No te pierdas nada, síguenos en Twitter, Mastodon o Threads!
Preguntas, aportes y peticiones en el foro.

  • Contenido similar

    • Por Dekuwa
      GodMode9i es un completo explorador de archivos para Nintendo DS, Nintendo DSi y Nintendo 3DS.
      Principales características de GodMode9i
      Dumpear cartuchos de GameBoy Advance en Nintendo DS y Nintendo DS Lite. Dimpear cartuchos de Nintendo DS/DSi en Nintendo DSi y Nintendo 3DS (si GodMode9i se está ejecutando en la tarjeta SD de la consola) Copiar, mover, borrar y renombrar archivos y carpetas, así como crear carpetas. Montar NitroFS de los archivos .nds. Explorar archivos en flashcards soportados cuando se ejecuta GM9i desde la NAND o la tarjeta SD (AceKard 2 & R4 Ultra) Explorar archivos de la tarjeta SD cuando se está ejecutando GM9i desde cualquier flashcard en modo DS (requiere un lanzador de juegos de DS con el acceso a la tarjeta SD activado)
      Créditos
      RocketRobz: Main Developer. Evie/Pk11: Contributor. zacchi4k: Logo designer. Edo9300: Save reading code from his save manager tool. JimmyZ: NAND code from twlnf (with writing code stripped for safety reasons). zoogie: ConsoleID code (originating from dumpTool). devkitPro: devkitARM, libnds, original nds-hb-menu code, and screenshot code. d0k3: Developer of GodMode9 for the Nintendo 3DS, which this is inspired by.
    • Por Dekuwa
      3DSident es una sencilla aplicación para Nintendo 3DS que nos permite checkear el firmware actual y la versión del sistema operativo de la consola de una forma simple y cómoda, de forma similar a lo que hace  PSPident con PSP.
      Funciones:
      Detección de la versión actual del kernel, FIRM y sistema. Visualización de la versión inicial del sistema. Detección de modelo con nombre de código e información de hardware (Retail/Devboard/Debugger/Unidad de captura). Muestra el tipo de pantalla (TN/IPS). Muestra la región. Muestra el idioma. Muestra la dirección MAC. Muestra la serie. Muestra SDMC y NAND CID. Muestra el nombre de usuario NNID, el ID principal, el ID persistente, el ID de base transferible, el país y la zona horaria. Muestra el ID del dispositivo. Muestra el ID del jabón. Estado de carga de la batería. Estado de conexión del adaptador de CA. Porcentaje de la batería (porcentaje real de la batería mediante mcu::HWC). Muestra el voltaje de la batería (estimado) y el formato desconocido. Muestra el firmware de la MCU. Detección de SD. Muestra la capacidad de almacenamiento total y libre de la SD. Muestra la capacidad de almacenamiento total y libre de CTR. Muestra la capacidad de almacenamiento total y libre de TWL. (Exclusivo GUI) Muestra la capacidad de almacenamiento total y libre de TWL photo. (GUI exclusivo) Muestra el número de títulos instalados en SD y NAND. Muestra el número de tickets instalados. (Exclusivo de GUI) Muestra el estado y el porcentaje del deslizador de volumen. Muestra el estado y porcentaje del deslizador 3D. Muestra la intensidad de la señal Wifi. Muestra la dirección IP. Muestra el brillo actual. Muestra el estado del brillo automático. (Exclusivo GUI) Muestra el modo de ahorro de energía. (Exclusivo GUI) Muestra el modo de salida de sonido. (Exclusivo GUI) Muestra si la consola es una unidad de depuración. (Exclusivo GUI) Muestra el estado de la toma de auriculares/audio. (Exclusivo GUI) Estado de la ranura de la tarjeta y tipo de tarjeta insertada (CTR/NAND). Muestra el pin de control parental, la dirección de correo electrónico y la respuesta secreta. (Exclusivo GUI) Muestra el ID del menú de inicio. Muestra información de la ranura Wifi (SSID, contraseña y dirección MAC). Muestra la semilla de código amigo local original/NAND. 3DSident es una aplicación creada por  joel16.
    • Por Dekuwa
      Universal Updater es una aplicación homebrew para Nintendo 3DS que nos permite la fácil instalación y actualización de otro homebrew para la consola. No es necesario copiar manualmente los archivos ni pasar por procesos de instalación, ya que lo hace todo por ti.
      Principales de Universal Updater:
      Un formato de tienda con un concepto similar al de los repositorios de Cydia El valor por defecto es Universal-DB ¿Quieres añadir más? Ve a los ajustes, elige "Seleccionar Unistore", haz clic en el icono + y selecciona uno de la lista, introduce una URL o escanea un código QR Personalización en la clasificación y visualización Varias claves de clasificación: "Título", "Autor" y "Última actualización". La dirección puede ser ascendente o descendente La visualización de la aplicación puede ser en cuadrícula o en filas Instalación en segundo plano para poder seguir utilizando el resto de la aplicación mientras se instala Búsqueda y marcas para facilitar la búsqueda de aplicaciones Visualización de capturas de pantalla y notas de la versión de las aplicaciones Accesos directos para actualizar fácilmente las aplicaciones que se actualizan con frecuencia cuando se utiliza el Homebrew Launcher Traducciones para usuarios de muchos idiomas





      Créditos
      Desarrolladores principales Epicpkmn11: Helped me with the JSON parsing stuff and a lot more! StackZ: Main Developer of Universal-Updater. Translators _Mapple²: Russian antoine62: French Chips: Portuguese David Pires: Portuguese Epicpkmn11: Japanese lemonnade0: Lithuanian Roby Spia: Italian StackZ: German and English YoSoy: Spanish Otros devkitPro, Fincs, Smealum, WinterMute: devkitARM, Libctru, Citro2D, and Citro3D.
    • Por Dekuwa
      FTPD es un servidor FTP para Nintendo 3DS (aquí la versión para Switch).
      Características
      Parece funcionar bien con una variedad de clientes. Admite varios clientes simultáneos. La 3DS solo parece admitir suficientes sockets para realizar entre 4 y 5 transferencias de datos simultáneas, por lo que será útil limitar el cliente FTP a esta cantidad de solicitudes paralelas. Gráficos de vanguardia. Comandos soportados
      ABOR ALLO (no-op) APPE CDUP CWD DELE FEAT HELP LIST MDTM MKD MLSD MLST MODE (no-op) NLST NOOP OPTS PASS (no-op) PASV PORT PWD QUIT REST RETR RMD RNFR RNTO SIZE STAT STOR STRU (no-op) SYST TYPE (no-op) USER (no-op) XCUP XCWD XMKD XPWD XRMD FTPD ha sido creado por mtheall.
    • Por Dekuwa
      Dead Simple EULA Set es una herramienta sencilla para configurar los EULA para que la Nintendo 3DS sea aceptada.
      Para poder jugar juegos de la 3DS en línea o utilizar StreetPass, la 3DS hace que el usuario acepte un EULA. Si se trata de títulos de la región, la propia 3DS puede gestionarlo. Sin embargo, si desea utilizar títulos de fuera de la región, deberá utilizar homebrew para configurar el EULA como aceptado.
      Uso
      Descarga el CIA desde aquí mismo y ábrelo con FBI. Presiona A para cambiar tu EULA. Presiona SELECT para eliminar el programa después de ejecutarlo.
      Si por alguna razón necesitas restablecer el EULA a sus valores iniciales, vuelve a ejecutar la aplicación.
      También hay una opción para 3DSX disponible para aquellos que prefieren el homebrew de 3DSX. Colócala en tu tarjeta SD y ejecútala con Homebrew Launcher o con 3dslink. Presiona SELECT para eliminar el programa después de ejecutarlo.
      La aplicación ha sido creada por noirscape.
×
×
  • Crear nuevo...