Objetivo:Mi objetivo es aportar alguna cosa útil a este foro, y tener como un pequeño "block de notas" de conceptos clave para entender los "posts" técnicos que se publican aquí.
Llevo semanas intentando entender como funciona la Wii y su Scene y me he hecho un resumen de puntos o conceptos clave para mi, que igual pueden ser útiles para más gente que empieza ahora.
Si alguien encuentra algún error o información poco precisa o mejorable en este post que me lo diga para editarlo.
A partir de toda esta información he empezado a entender cosas como: ¿dónde está la gracia de la foto de
"HelloWorld from Starlet" de Marcan?
Si veo que el hilo es útil intentaré seguir actualizandolo en la medida que pueda.
Lista de conceptos:1.- DVD's de Wii: Los
DVD de la Wii van encriptados con la clave conocida como "common key" o "clave común" obtenida mediante la técnica de hacking conocida como Twiizer Attack la cual se aprovecha de como gestiona la memoria GDDR3 la Wii cuando pasa a modo GameCube para volcar el contenido de la misma dónde previamente había estado alojada la susodicha clave.
Más información técnica detallada sobre los DVD de Wii.Para trastear con ISO's de DVD's de Wii hay una utilidad muy interesante llamada
Wiiscrubber. Este es el hilo de EOL sobre
Wiiscrubber ver 1.302.- Common Key: Gracias a la obtención de la "common key" aplicaciones como Trucha Signer pueden abrir el contenido de un disco de Wii. Esta última aplicación es capaz de volver a firmar un disco de Wii con una firma "falsa" o firma "trucha" que aprovecha un bug en la comprovación del firmado que realiza la Wii. Este bug fue tapado por nintendo en la famosa actualización 3.3. No hay que confundir firmado con encriptado, son dos cosas distintas.
Más información sobre Trucha Signer.3.- Procesadores: Wii tiene tres procesadores principales: un PowerPC, un chip gráfico o GPU de ATI y un ARM bautizado como
Starlet.
4.- IOS: Al sistema operativo de Wii se le llama IOS. IOS se ejecuta en Starlet. IOS tiene los drivers de todos los dispositivos de Wii y se comunica y arranca el procesador principal (PowerPC). IOS dispone incluso de un sistema de ficheros que es el que gestiona el contenido de la NAND (memoria Flash de 512 Mb que dispone la Wii en su interior). En una Wii hay diferentes versiones de IOS instaladas y cada "Título" de software utiliza siempre la misma, estas versiones se les llama de la siguiente forma: IOS21,IOS30,IOS37, etc ...
5.- Boot0, Boot1, Boot2: El proceso de arranque de una Wii pasa por tres etapas conocidas como boot0, boot1 y boot2. Boot0 está en una ROM dentro de Hollywood (así se conoce al integrado que contiene la GPU, Starlet y otros componentes encargados de la criptografía y de la E/S contra la NAND, los USB el WIFI etc ...) Boot1 reside en los primeros sectores de la NAND y su único cometido es cargar y verificar Boot2. Boot2 es un mini IOS con los drivers de la NAND cuyo objetivo es cargar IOS.
Más detalles técnicos en este hilo de entuwii.6.- SD Key: El contenido de las partidas grabadas en las SD también va encriptado y firmado. En este caso no se utiliza la "common key" sinó otra clave conocida como "sd key" o "clave SD". Tanto esta clave como la "common key" son las mismas en todas las Wii. La firma se comprueba con la clave pública de nintendo, que como su nombre indica es pública y está en los servidores de Nintendo.
7.- DevKitPPC: El que quiera aventurarse en el desarrolo de software casero para Wii lo primero que debe de hacer (a parte de tener nociones del lenguaje C) es hacerse con el
devKitPPC y la última versión de
libOGC. Así podrá desarrollar y compilar sofware en su PC (bajo Windows o Linux) y enviarlo a la consola mediante WIFI con WiiLoad teniendo abierto el HomeBrew Channel en la misma que se queda residente escuchando por TCP/IP un posible envío de software. Es necesario conocer la IP de Wii en nuestra Wireless-LAN para el envío de software, el mismo HomeBrew Channel te la facilita. La web
WiiBrew y el foro de Marcan
www.entuwii.net son dos referencias esenciales para empezar en este mundillo, también es muy interesante el blog de Bushing y Marcan
Hackmii. También se puede encontrar el código fuente de unos cuantos desarrollos en este software para estudiarlos y entender como funcionan. En este foro hay un post muy interesante con una recopilación de casi todo el software casero aparecido en Wii
Hilo de recopilación de homebrew de cangrejo8.- Ficheros WAD: Formato de fichero que permite empaquetar aplicaciones o "canales" de la Wii, juegos de la VC, juegos de WiiWare, emuladores o otro tipo de HomeBrew. Existen diversas aplicaciones para empaquetar y desempaquetar
WAD's (
Hilo del AutoPacker de broly7 /
Hilo del WadPacker del TeamBlaze), así como para instalarlos/desinstalarlos en la Wii, como el WAD Manager del scener Waninkoko. Hubo mucho debate sobre este tema sobretodo porque desencadenó la piratería de la VC y WiiWare y se temían represalias de Nintendo.
Hilo del WAD Manager.9.- Twilight Hack: Técnica de hacking mediante la cual se ha conseguido ejecutar el primer software casero en Wii. Se basa en un fallo o "exploit" del juego Zelda T.P. Los creadores del mismo (el grupo de sceners Team Twiizers ) aprovecharon la SD Key para crear una partida modificada de Zelda T.P. que aprovecha un fallo en el código del juego cuando el nombre "del caballo" que aparece en el juego es demasiado largo hace saltar una excepción y a partir de ahí pueden lanzar un ejecutable desde la SD.
10.- Custom IOS: Los sceners de Wii más puestos en el tema están empezando a parchear IOS para introducir nuevas funciones en él o cambiar su comportamiento. Es algo que está empezando ahora y que todavía no tiene un uso demasiado concreto para el usuario final.
Hilo del cIOS de Wanin. Hilo del Parcheador de IOS del Team Twiizers11.- MIOS y Modo GameCube: MIOS es el IOS del "Modo" GameCube. Cuando se carga MIOS la Wii se convierte en una GameCube, incluso MIOS "underclockea" el hardware de la Wii para que se comporte exactamente como una Gamecube. En Wii el PowerPC va a 729Mhz y en GameCube a 485 Mhz y la GPU 243 Mhz y 162Mhz respectivamente.
12.- Librería de acceso a DVD-R: <pendiente>
13.- Título, TitleID, Ticket / e-Ticket / tik, TMD : Un Título es un paquete de software en Wii (por ejemplo: IOS, MIOS, menú de sistema, un juego en DVD, un canal del menú ...). Todos comparten un sistema de instalación, firmado y ejecución común. Dentro de un Título encontramos:
TitleID: 64 bits que identifican al título: 32 bits (Tipo de Titulo) + 32 bits código de 4 letras en ASCII.
TMD: Title Meta Data, describe una versión concreta de un título y su contenido.
eTicket o ticket o tik: Se trata de la licencia que tenemos de acceso al título.
Archivos de datos: Por ejemplo el ejecutable principal.
Certificados: utilizados para la validación de la firma digital.
14.- RSA, Hash SHA-1, AES: RSA según Wikipedia: el sistema criptográfico con clave pública RSA es un algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, la cual se distribuye (en forma autenticada preferentemente), y otra privada, la cual es guardada en secreto por su propietario. En Wii RSA se usa para firmar el software y nuestras Wii's comprueban que este software es de Nintendo (firmado con su clave privada) mediante la clave pública.
AES: Es un sistema de cifrado mediante clave compartida. Es decir, a diferencia del RSA, ambas partes tienen la misma clave y la única manera de decodificar el mensaje es con la clave original (En Wii "Common Key").
SHA-1: (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas (En informática, Hash se refiere a una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato a través de la probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo.). Wii utiliza SHA-1 por ejemplo el proceso de arranque cuando Boot0 carga Boot1 y comprueba que es correcto contra la firma Hash de Boot0 almecenada en ROM.
Detalles sobre AES en Wikipedia.Interesante:
Artículo en HackMii sobre claves y cifrado.15.- Brick / SemiBrick: Algunas manipulaciones en el software de Wii pueden traer problemas, estos se conocen en el mundo de la scene como Brick's. Los SemiBrick's en principio simplemente te bloquean los menus de configuración de la Wii y existen algunos métodos para solucionarlos. Los Brick's totales te dejan la Wii inservible, la podrás utilizar simplemente de pisapapeles o de ladrillo. Los sceners del Team Twiizers están trabajando en herramientas que permitan evitar del todo estos problemas y así no dejar a nadie con un bonito gadget tecnológico de 250 € inservible.
16.- ModChips: El objetivo principal de un ModChip es poder utilizar backups de tus juegos en formato DVD-R en Wii. Si te aventuras a instalar uno tu mismo este tutorial de como abrir la consola es muy interesante:
Hilo de como desmontar una Wii de PiratePila17.- El menú de sistema: Hilo sobre el hacking del SystemMenu18.- VC - Consola Virtual: VC son las siglas de Virtual Console o Consola Virtual. Es el sistema de emulación oficial de Nintendo por el cual puedes comprar juegos de antiguas plataformas (NES,SNES,NeoGeo,etc...) y juegarlas en tu Wii. Cada juego que compras se descarga y se instala en la NAND de tu Wii apareciendo como un canal nuevo en Wii. Hay un grupo de EOL intentando que los juegos de VC se puedan ejecutar desde DVD para ahorrar espacio en los escasos 512Mb de la NAND de Wii, podéis seguir su trabajo en
Hilo de investigación VC ISO Loader19.- La NAND: Se le llama NAND, como ya se ha comentado en este hilo anteriormente, a una memoria Flash de 512Mb que hay en el interior de Wii. La NAND está encriptada (mediante AES) y firmada. La clave NAND (AES) cambia de una consola a otra y la clave NAND HMAC utilizada para el firmado también.
Más enlaces imprescindibles:1.-
Diapos de Marcan de la conferencia Euskal Encounter.2.-
Audio de la conferencia de Marcan.3.-
Hilo del Tutorial para cargar HomeBrew en Wii de albertoi.4.-
Sven's blog (Blog de un scener bastante bueno)
Agradecimientos:Gracias a Marcan por sus fabulosas diapos y por toda la información que hay de él este foro.
Gracias a todos los sceners que dedican su tiempo libre para crear software para Wii de forma desinteresada.
Gracias a todos los que postean en EOL información útil sobre Wii.
Gracias a Nintendo por haber creado este "juguete" tan entretenido.
Última edición: 06/Agosto/2008 (19:00)