Esta vez le ha tocado el turno a Marcan. Le doy las gracias por prestarse a hacer esta entrevista para mi pagina web (
http://www.nintenz.es), es algo que desde allí le agradecemos. Quería dejarla solo en mi pagina pero he decidido copiarla aquí, ya que más gente la puede ver y así si no quieren no se tienen que registrar en mi web a la fuerza (eso sí, los que quieran hacerlo que lo hagan
). No digo nada más, ahí os dejo la entrevista (no se si tengo madera para esto);
MAG: Hola Marcan, ¿que tal todo?
Marcan: Bien, algo liadillo, como siempre.
MAG: ¿Como va el trabajo con el grupo Twiizers en el canal homebrew?
Marcan: El canal algo parado ahora mismo. Desde que Nintendo sacó la actualización de IOS30 y el Menú 3.3, nos hemos dedicado de nuevo al bajo nivel, ya que creemos que ahora mismo urge un poco más. Sin embargo, seguimos teniendo ideas para el Canal Homebrew, así que no lo vamos a dejar tirado ni mucho menos.
MAG: Entonces… ¿No podremos disfrutar de una nueva versión del canal pronto?
Marcan: Nos gustaría terminar un proyecto distinto y sacar una primera release antes de retomar el trabajo de lleno en el canal. Sin embargo, tenemos algunos bugs arreglados en el canal y se pueden añadir algunas funciones que nos habéis pedido sin mucha dificultad. No todos estamos trabajando en el otro proyecto, así que es perfectamente probable que salga la beta9 pronto con algunas mejoras. Pero como de costumbre, no doy plazos - las cosas cambian, y nunca se sabe qué te va a deparar el futuro en esto de la ingeniería inversa. Es imposible dar un plazo realista sin saber realmente con qué obstáculos te vas a encontrar.
MAG: ¿Puedes decirnos algo de ese nuevo proyecto del que hablas?
Marcan: Claro. La idea es simple: conseguir un método para poder asegurar una Wii contra la mayor parte de los brickeos actualmente posibles. Las Wiis son muy sensibles y algún cambio en falso puede causar un brick irreparable, pero con algunos cambios de software se pueden reducir mucho las posibilidades. El proyecto consiste en desarrollar un "pequeño" código (relativamente hablando) que se inserte justo delante de boot2 en la consola, y que sirva como menú de recuperación para hacer copias de seguridad de la NAND y restaurarlas. Además, servirá como una puerta trasera (extensible via ejecutables en la SD) para poder hacer mantenimiento en general en la Wii. Al formar parte de boot2, esto es totalmente inmune a cualquier corrupción del sistema de archivos de la NAND - podrías borrar el menú del sistema entero y todos los IOS, y esto seguiría funcionando.
MAG: Interesante… ¿Ya habéis hecho pruebas con esto?
Marcan: tmbinc ya usó un boot2 modificado en su día, y boot1 contiene el bug de las firmas (el "bug trucha"), así que está claro que el hecho de insertar código antes de boot2 es perfectamente factible. En cuanto al código en sí, yo he estado haciendo algunas pruebas últimamente, y he conseguido, entre otras cosas, dumpear las claves de una consola y mostrarlas tanto por un LCD físico conectado a la Wii, como por un USBGecko (esto último, justo ayer). Todo esto con código de Starlet (IOS) directamente, sin utilizar el PPC en absoluto.
Por cierto, he de recalcar que todo este código es completamente nuevo. No usamos código ni servicios del boot2 o IOS original. Esto se insertaría antes de boot2, pero no dependería en absoluto de el.
MAG: Entonces este método anti-bricks… ¿vendrá implantado en alguna futura versión del canal homebrew o se distribuirá a parte?
Marcan: Esto, como componente completamente independiente completamente del Canal Homebrew, se distribuirá a parte. No creemos que integrar todo en el Canal sea una buena idea. El Canal es principalmente un loader, puede que se le añadan cosas como un explorador de archivos o un cargador de discos en el futuro, pero esas son tareas que tienen sentido en un loader. Un sistema anti-bricks realmente no tiene cabida - es una aplicación que usas una vez y punto.
MAG: Mucha gente habla o piensa en un custom firmware para Wii, ¿lo habéis pensado alguna vez?
Marcan: Ese nombre no me gusta nada, porque es muy ambiguo. Un custom firmware puede significar varias cosas. Vayamos por partes:
1. Una cosa que sí se va a intentar hacer, y que va junto con este sistema de recuperación del que hablamos, es un IOS completamente casero usado para obtener un control más total sobre la Wii. En realidad, si lo piensas, el sistema de recuperación sería esto, mas un cargador que busque en menú en la SD y lo cargue (en el PPC). Luego ese menú se encargaría de realizar la recuperación mediante este "mini-IOS", que le dará un control total sobre la Wii. Este mismo componente (prácticamente un proxy para darle acceso al hardware de Starlet al PPC, nada más) se puede distribuir por separado en forma de IOS, util para, por ejemplo, usarlo como dumpeador de claves. Esto, al menos de momento, no tiene mucho sentido para la mayoría del homebrew, ya que no tendrá las funciones del IOS completo (por ejemplo, nada de USB ni Wiimote). Sin embargo, sí que puede ser util para Wii Linux, ya que podría usarse para comunicar los típicos drivers de Linux directamente al hardware, evitando así tener que escribir drivers de muy alto nivel para hablar con IOS, que realmente no encajan bien con el modelo de drivers de Linux.
Es decir, es una alternativa a IOS que te da un control total pero que te quita los drivers de alto nivel.
2. Un Custom Firmware, a lo bestia, podría ser símplemente versiones modificadas de IOS y/o del menú, distribuidas directamente. Esto queda eliminado por ser ilegal directamente (no podemos distribuir versiones de IOS modificadas). Se podría hacer un parcheador, y puede ser una opción rápida, pero creemos que hay alternativas mejores. Esto, especialmente, solo tiene sentido si tenemos un sistema de recuperación, ya que el riesgo de brick es bastante alto.
Las modificaciones te dejo que te las imagines. Eso sí, recuerda que nosotros no estamos a favor de la piratería, por lo que no vamos a ser nosotros los que hagamos un cargador de ISOs mediante un IOS modificado o algo así.
3. Una idea que nos ha estado rondando la cabeza mucho, es una especie de "soft-patcher". En lugar de instalar versiones del firmware modificadas, se instala un boot2 capaz de aplicar una serie de parches al IOS que carga. Uno de estos parches se encarga de añadirle la misma habilidad a ese IOS, y a su vez al siguiente, para poder mantenerlos aunque se vaya recargando IOS. Esto nos evita tener que tocar y truchear las versiones instaladas, ya que el parcheo se realizaría después de haber verificado y cargado el IOS correspondiente. Además, nos da la posibilidad de hacer un arranque limpio sin parchear, si nos interesa. Por último, el parcheo puede ser dinámico y adaptarse a nuevas versiones de IOS sin mucha dificultad, especialmente si no han cambiado la parte del código que se parchea. Creemos que esto sí puede ser una buena idea de cara al futuro. Hasta se podrían cargar los parches desde SD, por ejemplo - las posibilidades son infinitas.
MAG: Ahora dejando de lado al grupo y hablando exclusivamente de ti, ¿estas trabajando en algo tu solo?
Marcan: Bueno, yo en particular no tengo nada en lo que esté trabajando solo ahora mismo. Por otro lado, como grupo tampoco estamos trabajando en una meta común necesariamente, aunque nuestros intereses se solapan obviamente. Este proyecto del antibricks es principalmente mío y de bushing. Bushing también está trabajando en un arregla-bricks por hardware (via Infectus u otro programador), para reparar consolas ya brickeadas que no tengan copia de seguridad previa de la NAND. Evidentemente, aunque son vías distintas, ambos proyectos comparten mucho. A su vez, Erant está investigando otras partes de la Wii, para lo cual le viene muy bien tener acceso al hardware de Starlet, y a mi me gustaría hacer un emulador de NAND para ayudar a la investigación, etc. Como ves, es raro que alguien se dedique a algo solo, pero también es raro que todos trabajemos en el mismo proyecto al 100%. Algún día me gustaría hacer algun juego o algo para la Wii yo solo, pero de momento tengo bastante con el trabajo y el team
Una cosa que sí voy a hacer es dar una conferencia sobre seguridad, homebrew, hardware, y software de Wii en la Euskal Encounter este mes. Estáis todos invitados.
MAG: Gracias. No tengo más preguntas por lo que lo dejamos aquí. Muchas gracias por la invitación (aunque me pilla un poco lejos) y gracias por responderme a todas las preguntas.
Marcan: No hay de qué.