DI - Examinando el IOS

Ya que ahora esta de moda buscar el a ver si alguien encuentra el bug, del que hablaba bushing.. abro este foro para las personas que saben del tema.

Pido que no se postee aqui sin un conocimiento minimo del tema ya que esto no es para opiniones sino para investigacion, aunque tampoco se espera que seamos expertos, son pocas personas las que enserio tienen el conocimiento de la wii a fondo.

Primero me llamo la atencion lo que se ha hablado desde hace mucho tiempo, casi que desde que se tuvo acceso a los IOS. Estos parecen tener soporte para DVD video "aSDiioctlVideoE --> (%s) (diIoctl) Video enable returning security error - callerUid" ...

Segundo... tambien me llamo la atencion la aInitializedriv "initializeDriveRegisters"

...alguien sabe q es lo que pasa cuando se entra al DI en legacy mode? (obviamente.. hacer compatible DI con el GC) pero.. mi pregunta iba a alguien ha probado hacer el unlock del drive en GC... al parecer segun he leido posts de erant no se puede ya que los commandos debug son filtrados, alguien ha encontrado el codigo donde son filtrados? si se encontrara el codigo se podria hacer que simplemente filtrara otros commandos con una simple edicion hex..

Otra cosa que ha rondando por mi cabeza es que por lo menos el software, como canales y eso no tiene "conocimiento" de donde es corrido, y por esa razon puede ser corrido desde dvd. Por esta razon se me hace razonable que el software en dvd pueda ser corrido desde la nand (q todos sabemos que no cabria) pero significa que si se tuviera el mismo entorno de encrypcion en un drive USB se podrian correr desde alli, cambiando las llamadas del Di a las del USB?
Yo tampoco entiendo mucho, pero hasta donde yo se, los famosos comandos 0xF, por lo que leí, estan filtrados por hardware y no por software, por lo que o bien hay alguna manera (entrando de algun otro modo, no lo se) para saltarselos, o hay otros comandos en el DVD que no son 0xF por los cuales se puede enviar estos comandos, o en alguna parte del IOS hay algun codigo que activaría, como tu dices, ese supuesto modo DVD-Video que permitiria leer DVDs normales (y no GOD/WOD).

En cuanto a lo de /dev/di, lei, no se si en Hackmii o en otra parte, que todos los juegos estan abstraidos hasta tal punto en el que se podría hacer que cuando el juego lea el "disco" desde /dev/di, cambiar el IOS para que ese /dev/di redireccione la lectura hacia el USB o hacia la SD. Pero claro, todo esto habria que hacerlo a nivel de IOS, y poca gente esta trasteando con IOS directamente (lease Twiizers y Waninkoko).
A mi se me ocurre que tal vez la clave de todo esto está en ver como funciona un chip. Es un tema algo oscuro para mi: Supongo que el controlador del lector (d2c,dms,d2b le que sea) identifica el tipo de disco que se ha insertado:

a los discos Wii los vamos a llamar "a", a los de gc "b" y a los al resto "c"

Bien, tendríamos dos posibles formas de bloquear la wii :

A nivel delector, en el propio controlador : si tipo disco = c no lee y se bloquea.
En este caso el chip aquí simplemente estaría continuamente comprobando el tipo de disco insertado para que en caso de ser c cambiarlo por a o por b.

A nivel de Ios en la wii, el comando "iosidentificadisco" devuelve "c" en "xxoffset", si [xxxoffset] = c bloquea unidad y pone mensaje "disco no valido".
Y si este fuera el caso, serie cuestión de modificar los saltos condicionales para engañar al ios o también podríamos buscar la posición de memoria donde guardaría el registro del tipo y modificarlo.

Ahora la cuestión es .. ¿como trabaja un chip? y como hace la wii para bloquear un determinado tipo de disco.

Salu2.

A ver si alguien me resoponde ..
El Yaosm es open ;) (y otros tb, pero el yaosm es bastante bueno)
kikekakik escribió:Otra cosa que ha rondando por mi cabeza es que por lo menos el software, como canales y eso no tiene "conocimiento" de donde es corrido, y por esa razon puede ser corrido desde dvd. Por esta razon se me hace razonable que el software en dvd pueda ser corrido desde la nand (q todos sabemos que no cabria) pero significa que si se tuviera el mismo entorno de encrypcion en un drive USB se podrian correr desde alli, cambiando las llamadas del Di a las del USB?


Curiosamente cuando la Wii ejecuta un disco, lo que hace es cachear el ejecutable en la NAND y lo ejecuta... el ejecutable por poder lo puedes ejecutar desde el HBC, siempre que el IOS concuerde, claro ;)
4 respuestas