Einleitung und Basiswissen

    Einleitung und Basiswissen

    .
    .
    .
    .




    New Ultimate Homebrew Guide (Wii) - by Wii-Homebrew.com v1.0


    Warum "New" ? Ganz einfach. Der Ultimate Homebrew Guide wurde nun endlich seiner Bestimmung entsprechend aktualisiert.
    Er gilt nun für alle Firmwares. Im Folgenden wird aber weiterhin immer vom UHG die Rede sein, da NUHG eine weniger schöne Abkürzung ist.
    Der Titel soll nur die Veränderungen besser hervorheben.


    Aufgrund immer wieder auftauchender Fragen hier ein zusätzlicher Hinweis:

    Nahezu JEDE Wii kann mit einem Softmod ausgestattet werden. Egal ob alt oder neu, weiß, schwarz, rot oder blau. Darunter fallen selbstverständlich auch die ganz neuen Versionen, welche zur "liegenden" Verwendung vorgesehen sind und keinen GameCube-Support mehr bieten. Lediglich die zuletzt erschienene "Wii Mini" kann nicht mit einem Softmod ausgestattet werden. Dies ist auf den fehlenden SD-Karten-Support zurückzuführen.





    Herzlich willkommen zum Ultimate Homebrew Guide (UHG) von Wii-Homebrew.com. Hier lernt ihr die Funktionsweise der Wii kennen, eignet euch Wissen über vielerlei interessante Dinge an, und werdet am Ende dieses Guides eine vor Schäden geschützte, voll modifizierte Wii euer Eigen nennen können. Dazu empfehlen wir euch, jeden Satz mindestens zweimal zu lesen, um etwaigen trivialen Fragen vorzubeugen. Falls Schwierigkeiten auftauchen, ihr Verbesserungsvorschläge habt, Kritik ausüben, oder einfach irgendwas fragen wollt, fühlt euch frei im entsprechenden Support-Bereich des Forums zu fragen.

    Während dieses Tutorials werden euch an bestimmten Stellen immer mal wieder sogenannte "Spoiler" begegnen. Diese Spoiler haben den Zweck einen Text zu "verstecken". Ihr könnt den enthaltenen Text lesen, indem ihr einfach mit der Maus auf einen solchen Spoiler klickt.

    Hier ein Beispiel:



    [legend]Wichtig:[/legend]
    Bitte lasst euch nicht vom vielen Text abschrecken. Das dient nur zu eurer eigenen Sicherheit. Je mehr ihr über eure Wii erfahrt, desto geringer ist das Risiko, dass eure Wii Schaden nehmen könnte und desto mehr könnt ihr Homebrew genießen. Bedenkt dabei, dass kein Programm perfekt ist. Fehler können immer auftreten. Wenn ihr euch aber genau an die gegebenen Hinweise haltet, kann nichts schief gehen. Ein gewisses Restrisiko lässt sich leider nie ganz ausschließen. Sollte also während der Ausführung eines Programms der Strom ausfallen, so kann das schlimme Folgen haben. Aber dafür kann das jeweilige Programm nichts, das ist höhere Gewalt.

    Ihr werdet feststellen, dass hier seit kurzem 2 verschiedene Wege für den Softmod der Wii angeboten werden. Für welchen ihr euch entscheidet, liegt einzig und allein in eurem Ermessen. Wenn ihr großes Interesse daran habt, was genau an welchem Punkt mit eurer Wii geschieht, dann wählt bitte den manuellen Weg "Stufe 1 - Variante B (Konventioneller, manueller Softmod)". Ihr könnt so immer genau nachvollziehen, was ihr eigentlich gemacht habt. Tauchen später einmal Probleme auf, könnt ihr so evtl. besser eingrenzen, wodurch der Fehler verursacht wird.

    Wenn euch allerdings das ganze "drum herum" nicht wirklich interessiert, und ihr einfach nur "eben schnell" mal die Wii modden wollt, so könnt ihr gerne den automatisierten Weg aus "Stufe 1 - Variante A (Automatisierter Softmod mit Hilfe des UHG-Downloaders)" wählen. Dieser Weg ist sicherlich um einiges schneller und bequemer. Problematisch wird es wie gesagt nur, wenn ihr später mal eine Frage habt, und dann die Hilfestellung vom Supporter gar nicht versteht, da euch die Begriffe nicht geläufig sind. Der Weg aus Variante A ist daher eigentlich eher für User geeignet, die bereits ein wenig Übung im Umgang mit der Wii haben. Für diese User ist der Weg eine erhebliche Erleichterung. Aber diese User wissen sich eben auch besser zu helfen, wenn mal etwas nicht so läuft wie geplant.
    Bitte berücksichtigt also, dass man euch bei Supportanfragen immer empfehlen wird, zumindest die Einleitung dieses UHG zu lesen. Ohne dieses Grundwissen, werdet ihr die Hinweise der Supporter oftmals gar nicht verstehen und der Support gestaltet sich dann in solchen Fällen sehr schwierig. Bevor ihr also Supporthilfe in Anspruch nehmt, bitten wir darum dieses Maß an Eigeninitiative aufzubringen. Es erleichtert sowohl euch, als auch den Supportern das Leben ungemein.




    Inhaltsverzeichnis
    1. Einleitung und Basiswissen
    2. Vorwort zum Installationsbeginn, Umgang mit dem Homebrew Channel, NUS Downloader, Wad
    3. Stufe 1 - Variante A (Automatisierter Softmod mit Hilfe des UHG-Downloaders)
    4. Stufe 1 - Variante B (Konventioneller, manueller Softmod)
    5. Stufe 2 - Systemmenü-Hacks - Priiloader(dringend Empfohlen) und Custom-System-Menü (optional)
    6. Stufe 3 - Backup Disk Loader, Backup USB Loader
    7. Exkursion - Der Gamecubemodus, MIOS, cMIOS, BC
    8. Glossar, Fehlermeldungen und Abschließende Worte
    Supportbereich

    Hier geht es zum Ultimate Homebrew Guide Supportbereich (Fragen zum UHG bitte nur dort posten!)





    Einleitung

    1. Wie alles anfing
    2. Das zwielichtige Team und der Elfenjunge
    2.1 Homebrew Channel und Homebrew illegal?
    3. Das System der Wii[/goto]
    3.1 Was sind IOS und wie viele gibt es von denen?
    3.2 NUS - Nintendos legale IOS-Datenbank
    3.3 IOS-Liste
    3.4 Systemmenü-Historie
    3.5 Trucha Bug, Fakesigning Bug, ES_Identify
    3.6 HW_AHBPROT - Eine kleine Revolution in Sachen Homebrew
    3.7 Title, Title ID
    4.0 Brick und Brickschutz
    4.1 SaveMii, SaveMiiFrii, Rescue-Menu
    4.2 Priiloader, der "Rettungsring" für diverse Bricks.
    4.3 BootMii - der ultimative Brickschutz...oder doch nicht?
    6.0 NAND-Emulation
    7.0 Zusätzliche Informationen


    1. Wie alles anfing


    Die Nintendo Wii ist seit Dezember 2006 auf dem Markt und ist verkaufszahlentechnisch die erfolgreichste "Next-Gen"-Konsole. Sie bietet neben einer innovativen -auf Bewegung beruhenden- Steuerung viele unterschiedliche Spiele für Jung und Alt. Daneben lässt die integrierte "Virtual Console" pures Retrofeeling aufkommen. So lassen sich gegen kleines Entgelt viele Videospielklassiker verschiedenster Konsolen und Heimcomputer herunterladen und spielen. Dabei erwirbt man eine Lizenz des jeweiligen Spiels, was bedeutet, dass man ein Leben lang freie Verfügbarkeit des jeweiligen Spiels erhält.

    Während die Wii spieltechnisch überzeugen kann, so enttäuscht sie außerhalb dieses Bereiches. Multimediatechnisch hat Nintendos Große nicht viel zu melden. Leider kann man auch nichts dagegen tun, denn eine Konsole ist, anders als ein PC, ein geschlossenes System. Die Wii ist sozusagen in Nintendos Hand und wir müssen uns mit dem zufrieden geben, was uns unser Lieblingspublisher auf den Teller serviert.

    2. Das zwielichtige Team und der Elfenjunge

    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.



    Es war einmal eine Gruppe von erfahrenen Programmierern -Team Twiizers-, die sich für die Funktionsweise der Wii interessiert haben. Dazu haben sie die Wii auseinander gebaut und ihre Bestandteile analysiert. Einer aus der Gruppe, genannt "bushing", war ein Meister in Sachen "Reverse Engineering". Dadurch hatte er sich einiges, grundlegendes Wissen über die Wii angeeignet. Irgendwann hat das Team ihren ersten Exploit entwickelt, der es ermöglichte, die privaten, verschlüsselten "Keys" der Wii zu erhalten. Dadurch war es möglich das System der Wii besser zu erkunden und eigenen Code im Gamecube-Modus auszuführen. Dieser Exploit wird als Tweezer Attacke bezeichnet. In diesem Zuge, wurde auch der sogenannte Trucha Bug entdeckt. (Dazu später mehr) Aber damit wollte man sich nicht zufrieden geben. Ziel sollte sein, eigenen Code auch im Wii-Modus ausführen zu können, was letztendlich auch gelungen ist. Es gelang dem Team einen Exploit zu entwickeln, der eine Schwachstelle im Spiel "Star Wars - The Complete Saga" ausnutzt. Damit wurde der Grundstein für alle folgenden "Savegame-Exploits" gelegt. Diese beiden Exploits hatte bushing in der "24c3 Hacker-Konferenz" vorgestellt. Ein Video dazu sehen Sie links. Die Homepage von bushing/Team Twizzer finden Sie hier mit vielen technischen Informationen über die Wii. Jetzt fragt ihr euch sicherlich, was denn ein Exploit ist? Nun, dazu müsst ihr euch die Wii wie eine Mauer um eine Burg herum vorstellen. Die Mauer ist ziemlich stabil, weshalb selbst Kanonenkugeln einfach abprallen. Jedoch hat jede Mauer irgendwo schwache Stellen, auf die man gezielt feuern muss um einen Riss zu erzeugen. Die Wii hat ebenfalls solche Schwachstellen, wobei deren Aufspüren sehr schwierig ist. Diese Schwachstellen werden als "Exploits" bezeichnet. Ein "Hack" ist eine Software, die die Schwachstelle/Sicherheitslücke ausnutzt, um sich in der Wii einzunisten und "Unheil" in Form von nicht von Nintendo legitimierten Modifikationen vorzunehmen. Oft wird der Hack selbst als Exploit bezeichnet.

    Wie schon gesagt, genügte die Tweezer Attacke nicht um eigenen Code im Wii-Modus auszuführen. Jedoch sollte genau dies später ein Elfenjunge namens Link, aus der berühmten Zelda-Reihe, schaffen. Team Twiizer entdeckten mit Hilfe ihrer Tweezer-Attacke eine Sicherheitslücke/Schwachstelle im Spiel "The Legend of Zelda: Twilight Princess", und haben daraufhin einen geeigneten Hack entwickelt, der sich in einem modifizierten Savegame/Speicherstand vom besagten Spiel befand und der einen ausführbaren Code enthielt. Dieser Hack wurde, dem Namen des Spiels entsprechend, in "Twilight Hack" getauft. Der Exploit enthielt im Savegame den Namen von Links Pferd "Epona", was lang genug war um einen "Buffer Overflow" zu erzeugen (zu Deutsch: Pufferüberlauf), welcher zu der Speicheradresse führte, in welcher sich der ausführbare Code befand. Detailliertere Informationen zu dem Begriff "Buffer Overflow" sind hier nachzulesen.

    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.



    Den "Twilight Hack" konnte man nun verwenden um selbst geschriebene Programme auf der Wii auszuführen. Diesen gibt es in zwei verschiedenen Versionen. Version 01beta1 für Firmware 3.3 und kleiner, und Version 01.beta2 für Firmware 3.4. Wie der Hack in Aktion ausschaut, erfahrt ihr im rechten Video.
    Der Nachteil des Twilight Hacks war der, das man immer auf "Zelda Twilight Princess" zurückgreifen musste wenn man eine Applikation starten wollte. Dem Problem waren sich Team Twiizer bewusst und entwickelten einen "Homebrew Loader", der in der Lage war, ohne Zelda Twilight Princess beliebige Applikationen zu starten. Dieser Loader wurde zum Homebrew Channel (HBC) getauft. Er wurde nachträglich zum Twilight Hack hinzugefügt, so dass er sich in das Menü der Wii als eigener Channel/Kanal installiert hat. Das bedeutete, dass man nun nicht mehr auf den "Twilight Hack + Zelda Twilight Princess" angewiesen war. (Was nicht heißt, dass der Twilight Hack an sich überflüssig wurde. Man benötigt ihn nach wie vor um den HBC auf einer Wii mit FW < 3.0 zu installieren. Ohne den HBC musste man aber JEDES MAL den Hack ausführen um eine Homebrew Applikation starten zu können.) Dies war der Beginn des Aufblühens von Homebrew für die Wii. Seht unten links eine Demonstration des Homebrew Channels in Videoform.

    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.



    Sobald der Homebrew-Channel einmal installiert war, konnte man also jede beliebige Homebrewapp starten. Um den HBC zu installieren, benötigte man aber dennoch immer das Spiel Twilight Princess. Nun trat der Coder Comex auf den Plan. Er entwickelte mit Hilfe einiger anderer bekannter Coder den sogenannten Bannerbomb-Exploit. Dieser ermöglicht es, durch einen modifizierten Wii-Channel eigenen Code einzuschleusen, und ist entgegen des Savegame-Exploits nicht spiele abhängig. Das heißt, man kann gleich loslegen ohne vorher das Spiel Zelda - Twilight Princess zu kaufen oder zu leihen. Auch Bannerbomb gibt es in zwei Versionen. Bannerbomb v1 funktioniert bei den Firmwares 3.0-4.1. Bannerbomb v2 nur für Firmware 4.2. Dieser Exploit war das Maß der Dinge. Allerdings hatte seine Funktion mit dem Erscheinen der Firmware 4.3 ein jähes Ende gefunden. Aber auch der Twilight Hack funktioniert bei FW 4.3 nicht mehr.

    Nun dauerte es einige Zeit, aber auch für dieses Problem sollte eine Lösung gefunden werden. Man konzentrierte sich wiederum auf den sogenannten Savegame Exploit. Der erste dieser Art war "Indiana PWNS", welcher mit dem Spiel "LEGO Indiana Jones - Die legendären Abenteuer" funktionierte. Von nun an war auch das Hacken einer Wii mit Firmware 4.3 kein Problem mehr. Leider hatte das natürlich zur Folge, dass die Preise für dieses Spiel im Handel explodierten. Es wurden teilweise bis zu 160,- EUR aufgerufen. Gott sei Dank wurden im Laufe der Zeit immer mehr Spiele gefunden, die ähnliche Schwachstellen enthielten. Bis heute gibt es insgesamt 6 Savegame-Exploits, mit denen man eine Wii mit FW 4.3 hacken kann. Dadurch hatten sich die Preise normalisiert.

    Die Savegame-Exploits für FW 4.3 funktionieren alle nach dem gleichen Prinzip, man braucht eben nur das jeweilige Spiel und den dazugehörigen, modifizierten Speicherstand. Im Normalfall benötigt ihr dazu das originale Spiel. Wenn ihr einen Modchip verbaut habt, genügt auch eine Sicherungskopie. Die Savegame-Exploits funktionieren allerdings auch auf kleineren FW's. Solltet ihr also eines der oben genannten Spiele besitzen und mit Bannerbomb nicht zurechtkommen, so könnt ihr ohne weiteres auch einen dieser Savegame-Exploits bei FW's kleiner 4.3 anwenden.

    Die oben genannten Punkte in Bezug auf die Firmware 4.3 waren lange Zeit gültig. Es war ohne eines der Spiele nicht möglich eine Wii mit FW 4.3 zu hacken. Das sollte sich dann am 09.08.2011 ändern. Denn an diesem Tag veröffentlichte Team Twizzer einen neuen Exploit für die Firmware 4.3. In Anlehnung an Bannerbomb, bekam der Exploit den schönen Namen LetterBomb. Dieser nutzt eine Sicherheitslücke im Nachrichtensystem (Messageboard) der Wii. Von nun an kann also auch bei einer Wii mit Firmware 4.3 der Softmod ohne ein Exploit-Game ausgeführt werden. LetterBomb funktioniert allerdings NUR auf Firmware 4.3.

    Doch die Räder der Coder standen nicht still. Ende April 2012 gelang es dem Coder giantpune einen weiteren Exploit zu entwickeln. Er wurde Wilbrand getauft. (Joseph Wilbrand = Erfinder des TNT). Dieser basiert -ähnlich dem LetterBomb-Exploit- auf einer Schwachstelle in der Wii-Pinnwand. Dieser Exploit hat 2 ganz entscheidende Vorteile gegenüber LetterBomb.
    1. Der Exploit kann direkt am eigenen PC generiert werden, ohne die Daten zunächst auf einer Internetseite eingeben zu müssen.
    2. Er funktioniert bei jeder Firmware ab 3.0


    Im folgenden eine Zusammenfassung, welcher Hack/Exploit auf die jeweilige Firmware anwendbar ist:

    Twilight Hack 01beta1Twilight Hack 01beta2Bannerbomb v1Bannerbomb v2LetterBombWilbrand
    Firmware 3.3 und kleinerFirmware 3.4Firmware 3.0 - 4.1Firmware 4.2Firmware 4.3Jede Firmware ab 3.0


    Wie schon erwähnt, können die Savegame-Exploits auf jede Firmware angewendet werden.
    Hier die Liste der 6 Savegame-Exploits:

    Verwendbares SpielZugehöriger Savegame-Exploit
    LEGO Batman - Das VideospielBathaxx
    LEGO Star Wars - Die komplette SagaReturn of the JODI
    LEGO Indiana Jones - Die legendären AbenteuerIndiana PWNS
    Yu-Gi-Oh 5D's - Wheelie BreakersYu-Gi-OWND
    Super Smash Bros. BrawlSmash-Stack
    Tales Of Symphonia - Dawn Of The New WorldEri-HaKawai


    2.1 Homebrew Channel und Homebrew illegal?

    Da man mit dem Homebrew Channel und dem Twilight Hack unautorisiert in das System der Wii eingreift, wird dies oft als illegal und "böse" verstanden. Dem ist aber nicht so. Team Twiizer, die für den Homebrew Channel und den Twilight Hack verantwortlich waren, haben nie urheberrechtlich geschützten Code in ihren Projekten benutzt. Der Homebrew Channel sowie alle weiteren Projekte von diesem Team sind zu 100% selbst geschrieben. Demnach haben sie das Recht damit zu tun was sie wollen. Jedoch ist Piraterie in Form von "Spiele aus dem Netz laden" illegal und wird durch das Team Twiizer -und auch von uns- nicht geduldet. In der Regel sind alle Homebrewprogramme völlig legal. Es sei denn, sie beinhalten urheberrechtlich geschützten Code. Dies ist jedoch nur selten der Fall, und bei uns nicht zu haben. Desweiteren ist noch zu sagen, dass ihr jegliche Garantie mit sofortiger Wirkung verliert, wenn ihr unautorisierte Software wie den Homebrew Channel auf eurer Wii installiert, denn sollte Nintendo merken, dass eure Wii unautorisiert modifiziert wurde, bekommt ihr im Falle eines Bricks womöglich einen Kostenvoranschlag von derzeit 210 Euro als Reparatur- und "Bußgeld" serviert.

    3. Das System der Wii

    Damit ihr später verstehen könnt, warum und weshalb etwas funktioniert, bzw. nicht funktioniert, ist es an dieser Stelle erforderlich, das System der Wii näher zu erläutern. Die Wii ist, wie jede andere Konsole, ein geschlossenes System mit einem eigenen Funktionsschema.

    Die Wii besteht wie ein PC aus einer CPU und einer GPU. Die GPU spielt in diesem Guide keinerlei Rolle und kann getrost ignoriert werden. Daneben hat die Wii, wie jeder PC, eine "Festplatte" bzw. Flashspeicher. Dieser ist etwa 512 MB groß und wird auch NAND genannt. Wir werden zukünftig die Begriffe Flashspeicher und Festplatte nicht mehr benutzen, sondern ausschließlich den Begriff NAND.

    Beim Einschalten der Wii wird die CPU aktiv und führt als allererstes einen Code aus, welcher direkt in die CPU "eingebrannt" wurde. Dieser Code wird als boot0 bezeichnet und kann nicht modifiziert werden. Die geringste Änderung an dem boot0 hat einen unwiderruflichen Totalausfall der Konsole zur Folge. boot0 initialisiert die Wii und bootet den nächsten Code, der als boot1 bezeichnet wird. boot1 befindet sich nicht in der CPU, sondern im NAND. Genau wie boot0 hat die geringste Modifizierung von boot1 einen unwiderruflichen Totalausfall der Konsole zur Folge, weil es von einer digitalen Signatur im boot0 überprüft wird. Sprich wenn boot0 eine Modifizierung von boot1 feststellt, streikt es und lässt die Wii nicht starten.

    boot1 bootet anschließend das sich ebenfalls im NAND befindliche boot2. boot2 wird später im Zusammenhang mit Brickschutz eine wichtige Rolle spielen. boot2 bootet/lädt anschließend das Systemmenü-IOS, welches wiederum das Systemmenü lädt. Das Systemmenü ist das Menü, in dem sich alle Kanäle befinden, man Einstellungen vornehmen kann, etc.

    Die Wii kann jedoch alleine mit boot0 bis boot2 und dem Systemmenü nicht funktionieren. Es fehlen noch "Kontrollprogramme/Kontrollstationen", die die Wii überwachen und für verschiedenste Funktionen verantwortlich sind und diese lenken. Diese Programme nennt man IOS (Input-Output-System). Die IOS selbst bilden zusammen das Betriebssystem der Wii. Nachfolgend das Bootschema der Wii zusammengefasst.

    [boot0 ---->boot1---->boot2---->Systemmenü-IOS---->Systemmenü]

    3.1 Was sind IOS und wie viele gibt es von denen?

    Wie gesagt sind IOS kleine Programme, die die Wii bzw. deren Funktionen/Inhalte steuern/kontrollieren und das Betriebssystem der Wii bilden. Sie befinden sich alle im NAND. Die Wii hat insgesamt 255 Slots für IOS zur Verfügung. Bisher sind noch viele Slots unbelegt. Für fast jedes IOS steht eine bestimmte Funktion zur Verfügung, beispielsweise ist ein IOS für das Aufblinken der LED an der Wii zuständig, ein anderes für USB-Tastatur Support oder für die Funktionalität eines Kanals, wie z.B. den Wetter- und den Shop-Kanal. Programme machen sich die Funktionen in den IOS zu Nutze, um diese und jene Sachen auszuführen, ähnlich wie Linux-Kernel. Man könnte sagen, was für Linux Kernel sind, sind IOS für die Wii. Deshalb sind Aussagen, die Wii basiere auf Linux, nicht ganz aus der Luft gegriffen.

    Fehlen IOS, so fallen deren entsprechenden Funktionen aus. IOS30 beispielsweise ist zuständig für die Erkennung von USB-Tastaturen. Fehlt es, wird keine USB-Tastatur mehr von der Wii erkannt. IOS31 ist zuständig für den Wetter-, News-, und Fotokanal. Fehlt es, so würden besagte Kanäle nicht mehr funktionieren. Manche IOS sind einfach nur Platzhalter mit keinerlei Funktionen. Es kann immer nur ein IOS zur gleichen Zeit laufen. Beispiel: Wenn das Systemmenü gerade zu sehen ist, dann läuft ausschließlich jenes IOS, welches für das Systemmenü verantwortlich ist. Für das Systemmenü 4.2 beispielsweise, ist das IOS70 verantwortlich. Startet man ein Spiel, schaltet sich das IOS70 ab und das IOS, welches für das Starten des Spiels verantwortlich ist, wird aktiv. Insgesamt gibt es nur 2 Zustände, in denen kein IOS läuft, nämlich im Gamecube-Modus und im BootMii/Boot2-Menü. Im Gamecube-Modus läuft stattdessen ein MIOS und im BootMii/Boot2-Menü das MINI, einem IOS-ähnlichen Bestandteil der Wii. Beide Modi werden wir später näher erläutern.

    Eine wichtige Funktion von IOS ist das Installieren von Dateien, z.B. Kanäle für das Wii-Menü. Dazu sind 2 Sicherheitsschlüssel erforderlich. Der erste Schlüssel nennt sich common-key und ist für jede Wii identisch. Der common-key ist in jeder Wii in einem ROM in der Nähe des Coprozessors Starlet versteckt. Team Twiizers haben ihn durch ihre Tweezer-Attacke ausfindig machen können. Wenn der common-key gerade in Gebrauch ist, dann befindet er sich im 24MB großen RAM der Wii. Wir erinnern uns, durch die Tweezer Attacke war es möglich den RAM der Wii zu untersuchen.

    Der zweite Schlüssel nennt sich private key und befindet sich auf Nintendos Server. Bis heute hat man es nicht geschafft, ihn zu erhalten. Jetzt fragt ihr euch vielleicht, warum es dennoch möglich ist Kanäle zu installieren, obwohl der private key nicht geborgen werden konnte. Nun, Team Twiizers entdeckte in jedem IOS einen Sicherheitsfehler, der als Trucha Bug bezeichnet wird. Jetzt wird es etwas kompliziert (unbekannte Fachausdrücke bitte googeln): Um die Anwesenheit des private keys zu kontrollieren, benutzt das IOS die Funktion strncmp(). strncmp() ist eine Funktion der Programmiersprache C. Diese überprüft, ob es zwei exakt identische Schleifen gibt. Wenn ein 0 byte erkannt wurde, wird angenommen, dass die Schleifen gleich sind und die Funktion wird beendet bzw. die Sicherheitskontrolle wird abgebrochen. Um also etwas installieren zu können, müssen wir den common-key und ein 0 byte in die Installationsfunktion des IOS übertragen. Die Methode etwas mit 0 byte anstatt des private keys zu installieren, bezeichnet man als Fakesigning. Der Sicherheitsfehler eines IOS strncmp() zu benutzen ( und ein 0 byte zu erkennen), wird als Trucha Bug bezeichnet.

    Wir fassen also zusammen: Um etwas zu installieren, brauchen wir ein IOS mit dem Trucha Bug. Mit dem Systemmenü 3.3 hat Nintendo es erstmals geschafft alle IOS mit Trucha Bug zu fixen indem man die Funktion strncmp() mit memcmp() ersetzt hat, einer Funktion, die nicht abbricht wenn sie 0 byte gefunden hat.

    Irgendwann entwickelte Team Twiizers einen Code, genannt PatchMii, mit dem es möglich war IOS zu downloaden, zu installieren und mit dem Trucha Bug zu patchen. Solche IOS werden cIOS genannt. Jedoch werden solche IOS von vielen Menschen fälschlicherweise als normale IOS bezeichnet oder einfach nur IOS mit Trucha Bug.

    Der Programmierer Tona war der erste, der eine Applikation released hat, die das IOS36 runtergeladen, mit dem Trucha Bug gepatcht und im IOS-Slot 249 installiert hat. Damit war das cIOS249 geboren. Dieses cIOS konnte jedoch nicht für Pirateriezwecke missbraucht werden, sprich mit diesem cIOS konnte man keine gebrannten Spiele spielen.

    Irgendwann haben die Entwickler Waninkoko und Wiigator die Applikation von Tona kopiert und modifiziert, so dass das IOS36 nicht nur mit dem Trucha Bug, sondern auch mit anderen Funktionen gepatcht wurde, mit denen man dann in der Lage war gebrannte Spiele zu spielen. Das sogenannte "Warez-IOS", oder in den meisten Augen das "echte" IOS249, war geboren.

    Unter den IOS unterscheidet man grob zwischen essentiellen und nicht essentiellen IOS. Fehlen nicht essentielle IOS, so werden der Wii einige Funktionen geraubt, aber die Wii selbst funktioniert dann noch. Werden allerdings essentielle IOS entfernt, so startet die Wii nicht mehr. Die IOS, die für die Funktionalität des Systemmenüs verantwortlich sind, sind essentiell. Wenn man sie entfernt, kann logischerweise das Systemmenü nicht mehr gebootet werden, sprich: Die Wii ist hinüber.

    Man unterscheidet zwischen natürlichen und unnatürlichen IOS. Alle von Nintendo selbst stammenden IOS sind natürliche IOS. Unnatürliche bzw. künstliche IOS sind von Codern selbst erstellte IOS, die der Wii weitere, von Nintendo nicht zugelassene Funktionen spendieren sollen. Fast alle künstlichen IOS verleihen der Wii die Fähigkeit, selbstgebrannte Spiele zu spielen. Somit ist deren Existenz nicht ganz unumstritten. Künstliche IOS kürzt man standardmäßig mit cIOS ab (custom IOS, siehe weiter oben!). Anfänglich gab es offiziell 6 dieser cIOS. Im Laufe der Zeit wurde die Entwicklung aber immer weiter voran getrieben. Der Coder Waninkoko hatte sich lange Zeit aus der Szene zurück gezogen. Also widmeten sich andere fleißige Coder der Aufgabe neue Versionen der cIOS zu entwickeln. Da der Source-Code von Waninkoko's cIOS und dessen Installer nicht open-Source war, musste eine völlig neue Art von cIOS geschaffen werden. Diese wurden dann "d2x" getauft. Die beteiligten Coder waren davebol und xabby666. Der Coder XFlak entwickelte dann einen Mod für sein Tool ModMii, um die d2x cIOS zu erstellen. Mittlerweile ist der Coder Waninkoko wieder in das Projekt eingestiegen. Seit dem kann man die d2x cIOS auch wieder mit einem Installer direkt an der Wii installieren. Man kann diese cIOS auf verschiedene Arten und in verschiedene IOS-Slots installieren. Das IOS249 hat von allen cIOS als erstes das Licht der Welt erblickt. Deshalb meint man, wenn man allgemein von cIOS spricht, falls man nicht anderes angibt, das IOS249. Der spanische Hacker Waninkoko ist zusammen mit Wiigator verantwortlich für die ursprünglichen IOS249 und IOS250, sowie Hermes für das IOS202, IOS222, IOS223 und IOS224. Das IOS202 ist das einzige IOS, dessen Ziel nichts mit Piraterie zu tun hat. Es spendiert der Wii eine USB2.0-Funktion, Zugriff auf normale DVDs und verbessert wahrscheinlich auch noch die Funktionalität von einigen Homebrews. Diese Funktionen werden nun aber auch weitestgehend von den d2x cIOS übernommen. In diesem Tutorial werden wir insgesamt 12 dieser cIOS installieren. Sowohl die von Hermes, als auch die d2x cIOS. Diese sind: IOS202, IOS222, IOS223, IOS224, IOS236, IOS245, IOS246, IOS247, IOS248, IOS249, IOS250 und IOS251.

    Von fast jedem IOS gibt es mehrere Versionen. IOS unterschiedlicher Version können sich von ihrer Funktionalität her stark unterscheiden. So kann ein IOS2 v5 beispielsweise ganz andere Eigenschaften haben, als ein IOS2 v4. Falls in der Wii bereits ein IOS mit demselben Namen installiert ist, so wird jedes gleiche IOS unterschiedlicher Version nur installiert, wenn es eine höhere Version als das bereits installierte IOS aufweist. Dabei wird das zuvor installierte IOS, das eine niedrige Version trug von dem neueren IOS überschrieben. Es kann nie ein IOS gleicher Art installiert werden, wenn bereits ein IOS mit einer höheren Version installiert ist.

    Um dieses Prinzip besser nachvollziehen zu können, erinnert euch bitte an Nintendos Systemmenü-Update 4.2. Ein Update hatte bzw. hat unter anderem zur Folge, dass keine gebrannten Spiele mehr funktionieren. Nintendo hat dazu einen einfachen, wie bushing sagte, eher einfallslosen "Trick" angewandt. Alle IOS, die für Sicherheitskopien verantwortlich waren, wurden mit dem Update auf 4.2 mit gleichen IOS höherer Version überschrieben. Der Unterschied zu den IOS vor dem Update, ist die Funktionslosigkeit der neueren IOS. Diese waren völlig ohne Funktion, sie waren stumpf, zu Englisch: Stub. Deshalb werden solche IOS, die keinerlei Funktionen haben, als Stub IOS bezeichnet. Da diese Stub IOS höhere Versionen als ihre gleichen IOS mit Funktionen haben, ist es nicht möglich die alten IOS, die nicht stumpf sind, zu installieren solange es IOS gleicher Art mit höherer Version installiert sind. Die einzige Lösung wäre alle Stub IOS manuell zu löschen und anschließend die alten IOS wieder zu installieren.

    3.2 NUS - Nintendos legale IOS-Datenbank

    Der NUS (Nintendo Update Server) beinhaltet eine fast vollständige Datenbank aller bisher veröffentlichen IOS. Manche gibt es nicht mehr, andere jedoch schon. Wenn die Wii einen Updatevorgang durchführt, dann nimmt sie Verbindung zum NUS auf, überspielt alle erforderlichen IOS, Kanäle und das Systemmenü und installiert diese dann. Ein erfahrender Coder hat ein Tool für den PC programmiert, welches erlaubt, eine direkte Verbindung zum NUS aufzunehmen und jede dort zur Verfügung stehende Datei völlig legal runterzuladen. Dieses Tool wird als NUSD bezeichnet (Nintendo Update Server Downloader). Dieses wurde von WB3000 programmiert. Es gibt noch weitere Kopien vom NUSD, wie z.B. der NISD (Nintendo IOS System Downloader). Falls ihr im Forum aufgefordert werdet eine bestimmte IOS-Datei zu besorgen, so könnt ihr dies bequem und legal per NUSD machen. Ebenfalls könnt ihr eine bestimmte Systemmenü-Datei herunterladen.

    3.3 IOS-Liste

    Nachfolgend eine Liste mit allen veröffentlichten IOS inkl. deren Funktionen:

    IOS
    VersionNotizenNUS-StatusStatus
    IOS3v65280Keine Funktion (Stub IOS)OfflineStub
    IOS4v3, v259, v65280Wurden wahrscheinlich für die Entwicklung und Aktualisierung verwendet. Die allererste Version wurde am 10. August 2006 entwickelt.Online: v65280Stub
    IOS9v516, v518, v520, v521, v778, v1034Zuständig für das Aufblinken der LED. Erstes normales IOS. Wurde für das Systemmenu 1.0 verwendet.Online: v520, v521, v778, v1034Aktiv
    IOS10v768---Online: v768Stub
    IOS11v10, v256Wurde am 14. November 2006 um 16:26:01 Uhr entwickelt. Wurde für das Systemmenu 2.0 verwendet.Online: v10, v256Stub
    IOS12v6, v11, v12, v269, v526Erstes IOS das bekannt wurde: 4 Juni 2006.Online: v6, v11, v12, v269, v526Aktiv
    IOS13v10, v15, v16, v273,v1031, v1032---Online: v10, v15, v16, v273, v1031, v1032Aktiv
    IOS14v257, v262, v263, v520, v1031, v1032---Online: v262, v263, v520, v1031, v1032Aktiv
    IOS15v257, v258, v259, v260, v265, v266, v523, v1031, v1032Enthält NAND Boot-Programm (aka NAND Loader). Wird vom Trucha Bug Restorer verwendet um IOS36 mit dem Trucha Bug zu versehen.Online: v257, v258, v259, v260, v265, v266, v523, v1031, v1032 Aktiv
    IOS16v257, v512Für den Gebrauch der Wii Backup Disk. Wurde verwendet um cIOS zu installieren, bis Systemmenu 4.0 dieses IOS nutzlos gemacht hat. Die inaktive Stub-Version (v512) wurde kurz nach dem Erscheinen von dem koreanischen Updateserver wieder entfernt und mit dem Erscheinen von Systemmenu 4.1 wieder hinzugefügt.Online: v512Stub
    IOS17v512, v517, v518, v775, v1031, v1032---Online: v512, v517, v518, v775, v1031, v1032Aktiv
    IOS20v12, v256Feb 22 2007 04:25:59 Wurde vom Systemmenu 2.2 gebraucht.Online: v12, v256Stub
    IOS21v514, v515, v516, v517, v522, v525, v782, v1038, v1039Enthält NAND Boot-Programm. Die meisten Debugging Nachrichten wurden entfernt. Üblich für Drittherstellertitel.Online: v514, v515, v516, v517, v522, v525, v782, v1038, v1039Aktiv
    IOS22v772, v777, v780, v1037, v1293, v1294---Online: v777, v780, v1037, v1293, v1294Aktiv
    IOS28v1288, v1292, v1293, v1550, v1806, v1807Mit dem Erscheinen von IOS28, wurde die Firmware in 15 Modulen getrennt. Ein paar ioctls wurden zu /dev/es hinzugefügt.Online: v1292, v1293, v1550, v1806, v1807Aktiv
    IOS30v1037, v1039, v1040, v2576, v2816War für USB-Tastatur-Support zuständig. Wurde von vielen vorherigen Systemmenus verwendet.Online: v1037, v1039, v1040, v2576, v2816Stub
    IOS31v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608Wird vom Wetter-, News-, und Fotokanal v1.1 verwendet.Online: v1037, v1039, v1040, v2576, v3088, v3092, v3349, v3607, v3608Aktiv
    IOS33v1040, v2832, v2834, v3091, v3607, v3608---Online: v1040, v2832, v2834, v3091, v3607, v3608Aktiv
    IOS34v1039, v3087, v3091, v3348, v3607, v3608---Online: v1039, v3087, v3091, v3348, v3607, v3608Aktiv
    IOS35v1040, v3088, v3092, v3349, v3607, v3608Wird mittels IOS35 Downgrader auf eine niedrigere Version gebracht um cIOS installieren zu können.Online: v1040, v3088, v3092, v3349, v3607, v3608Aktiv
    IOS36v1042, v3090, v3094, v3351, v3607, v3608Wird von älteren cIOS Installern zu IOS249 gepatcht. Wichtiges Softmod-IOS.Online: v1042, v3090, v3094, v3351, v3607, v3608Aktiv
    IOS37v2070, v3609, v3612, v3869, v5662, v5663Trucha Bug (Fakesigning Bug) erstmals behoben. Wird für Musikgeräte von Rock Band/GH gebraucht. Kann zu IOS249 gepatcht werden.Online: v2070, v3609, v3612, v3869, v5662, v5663Aktiv
    IOS38v3609, v3610, v3867, v4123, v4124Erschien mit Animal Crossing: City Folk. Wird vom cIOS Installer zu IOS249 oder IOS222 gepatcht.Online: v3610, v3867, v4123, v4124Aktiv
    IOS40v2321, v2835, v3072In koreanischen Wii-Konsolen enthalten. (Seit FW 4.3 auch in allen anderen)Online: v3072Stub
    IOS41v2320, v2835, v3091, v3348, v3606, v3607In koreanischen Wii-Konsolen enthalten.(Seit FW 4.3 auch in allen anderen)Online: v2835, v3091, v3348, v3606, v3607Aktiv
    IOS43v2320, v2835, v3091, v3348, v3606, v3607In koreanischen Wii-Konsolen enthalten.(Seit FW 4.3 auch in allen anderen)Online: v2835, v3091, v3348, v3606, v3607Aktiv
    IOS45v2320, v2835, v3091, v3348, v3606, v3607In koreanischen Wii-Konsolen enthalten.(Seit FW 4.3 auch in allen anderen)Online: v2835, v3091, v3348, v3606, v3607Aktiv
    IOS46v2322, v2837, v3093, v3350, v3606, v3607Enthalten in den koreanischen Versionen von "Need for Speed Undercover" und in "Shin Chuukadaisen"Online: v2837, v3093, v3350, v3606, v3607Aktiv
    IOS48v4123, v4124---Online: v4123, v4124Aktiv
    IOS50v4889, v5120Erschien erstmals mit dem Systemmenu 3.4 Update vom 17. November 2008. Wird vom besagten Systemmenu verwendet.Online: v4889, v5120Stub
    IOS51v4633, v4864Wurde von einem alten Shop-Kanal gebraucht. Wurde zeitgleich mit Fixes zu verbliebenden Trucha Bugs veröffentlicht.Online: v4633, v4864Stub
    IOS52v5661, v5888Erschien mit dem Systemmenu 3.5K in koreanischen Wiis und wird von denen verwendet.Online: v5661, v5888Stub
    IOS53v4113, v5149, v5406, v5662, v5663---Online: v4113, v5149, v5406, v5662, v5663Aktiv
    IOS55v4633, v5149, v5406, v5662, v5663Das DI-Modul wurde wahrscheinlich verändert.Online: v4633, v5149, v5406, v5662, v5663Aktiv
    IOS56v4890, v5146, v5405, v5661, v5662Wird vom Wii Speak Kanal und einigen Games gebraucht.(Seit FW 4.3v2 vom Shop-Kanal v20 benutzt)Online: v4890, v5405, v5661, v5662Aktiv
    IOS57v5404, v5661, v5918, v5919Enthält neue oder aktualisierte Module "OHCI0 USB USB_HID USB_HUB USB_MSC USB_VEN ETH". Kann als IOS249 und IOS224 gepatcht werden um Spiele schneller laden zu lassen.Online: v5404, v5661, v5918, v5919Aktiv
    IOS58v5918, v6175, v6176Online seit FW 4.3, Die Wii erhält offiziell USB 2.0 Support.Online: v6175, v6176Aktiv
    IOS60v6174, v6400System-IOS von Systemmenu 4.0 und 4.1. Kann zu IOS249 und IOS202gepatcht werden.Online: v6174, v6400Stub
    IOS61v4890, v5405, v5661, v5662Wird vom Wii-Shop Kanal aus Systemmenu 4.0, 4.1 und 4.2 verwendet.Online: v4890, v5405, v5661, v5662Aktiv
    IOS62v6430Noch ohne Funktion (Erschien zusammen mit dem Shop-Channel v21)OnlineInaktiv
    IOS70v6687, v6912System-IOS für Systemmenu 4.2. Kann zu IOS249 gepatcht werden.Online: v6687, v6912Stub
    IOS80v6943, v6944System-IOS für Systemmenü 4.3. Online: v6943, v6944Aktiv
    IOS202v65535Wii bekommt USB-2.0-Funktion und DVDs können mit einem Media-Player gelesen werden.OfflineAktiv
    IOS222v65280, v65535Piraterie-IOS. Wurde durch Stub ersetzt. Installierbar mit dem Hermes cIOS Installer.Online: v65280Stub
    IOS223v65280, v65535Piraterie-IOS. Wurde durch Stub ersetzt. Installierbar mit dem Hermes cIOS Installer.Online: v65280Stub
    IOS224v65535Führte Hermes erstmals mit Version 5 seines cIOS Installers ein. Verwendet IOS57 als Basis-IOS um Spiele schneller laden zu lassen.OfflineAktiv
    IOS249v65280, v65535Das ursprüngliche "Piraterie-IOS" von Waninkoko. Wird für viele Apps verwendet.Online: v65280Stub
    IOS250v65280, v65535Eine exakte 1:1-Kopie des IOS249 mit der höchstmöglichen Versionsnummer, geschaffen zu Sicherheitszwecken.Online: v65280Stub
    IOS254v2, v3, v260, v65280Wurde seit Systemmenu 3.4 mit allen Systemmenus veröffentlicht um PatchMii zu blocken. Eine Kopie von IOS9. Bildet das BootMii/IOS.Online: v2, v3, v260, v65280Stub
    IOS255v31337Temporäres, modifiziertes IOS 11, das von xyzzy erstellt und nicht richtig gelöscht wurde.Offline(vermutlich STUB)


    3.4 Systemmenü-Historie

    Nachfolgend eine Liste aller veröffentlichten Systemmenüs inkl. deren Funktionen.

    Version
    JAPUSAEURKORReleaseSystem-IOSNotizen
    Prelaunch------------UnbekanntIOS3, IOS9, IOS12Erste Vorversion des Systemmenüs
    1.0v33v33v33---19.11.2006IOS9Allererstes Menü von früheren Wiis. Keine Regionalunterschiede.
    2.0v128v97v130---19.11.2006IOS11Erstes regionspezifisches Menü. Aktivierung von SD-Support für Savegames, Regional-Einstellungen, runter ladbare Systemupdates, Kinderschutz, Funktion Kanäle zu verschieben.
    2.1------v162---10.01.2007IOS11Aktivierte den Newskanal
    2.2v192v193v194---11.04.2007IOS20Behob Verbindungsprobleme von Usern, die durch einen bestimmten Internetprovider und Router online gingen.
    3.0v224v225v226---06.08.2007IOS30 v1037Kanäle können nun Daten aus dem Internet vom Wiimenü aus anzeigen (Wetter, News). Uhr im Wiimenü. Der Wii-Nachrichten Button blinkt auf bei neuen Nachrichten. Freunde lassen sich in der Freundesliste neu arrangieren und Texte können durch Knopfdruck auf B gescrollt werden.
    3.1v256v257v258---10.10.2007IOS30 v1039USB Tastatur-Support. Neue Version des Internetkanals und Meinungskanals.
    3.2v288v289v290---25.02.2008IOS30 v1040Keine neuen Features, sondern nur Performance Verbesserungen.
    3.3v352v353v354v32617.07.2008IOS30 v2576, IOS40 v2320 (KOR)Blockt den ersten Twilight Hack. Fabrikneue Wiis mit diesem Systemmenü hatten Fixes von IOS30, BC und MIOS. Trucha Bug wurde gefixt.
    3.4v384v385v386---17.11.2008IOS50 v4889Blockt den zweiten Twilight Hack. Neue EULA. Geschwindigkeitsverbesserungen von DVD-Laufwerk und SD-Kartenslot. Kinderschutz wurde verbessert. USB-Tastatur-Support im Mii-Kanal.
    3.5---------v39003.03.2009IOS52 v5661Erstes Update für koreanische Wiis. Neuer Shop-Kanal.
    4.0v416v417v418---25.03.2009IOS60 v6174SDHC-Support und Funktion VC- und WiiWare aus einer SD/SDHC-Karte zu starten. Neuer Shop-Kanal. Ein Transferbutton wurde im Daten Einstellungsmenü hinzugefügt. Twilight Hack geblockt.
    4.1v448v449v450v4543/15/30.07.2009IOS60 v6174Fehler bezüglich des Videotutorials in Wii Sports Resort/WiiM+ behoben.
    4.2v480v481v482v48628.09.2009IOS70 v6687Blockt Homebrew/ Piraterie durch Stub-IOS (IOS222, IOS223, IOS249, IOS250). Blockt BannerBomb v1. Überschreibt BootMii im Boot2 durch boot2v4. Blacklistet die Title IDs "HAXX" (Homebrew Channel) und "DVDX". Brickt regionveränderte koreanische Wiis mit einem 003 Error.
    4.3 v1v512v513v514v51821.07.2010IOS80 v6943Blockt Homebrew/ Piraterie durch Stub-IOS (IOS222, IOS223, IOS249, IOS250). Blockt BannerBomb v2. Überschreibt BootMii im Boot2 durch boot2v4. Blacklistet die Title IDs "HAXX" (Homebrew Channel. Gilt NICHT für HBC ab 1.0.8, dieser bleibt erhalten) und "DVDX". Brickt regionveränderte koreanische Wii's mit einem 003 Error.
    4.3 v2v512v513v514v51808.09.2010IOS80 v6944Es handelt sich hier um das sogenannte Shop-Channel Update. Es werden einige IOS upgedatet und der Shop-Channel v20 installiert.Ansonsten gelten die gleichen Aussagen wie bei 4.3 v1
    4.3 v3v512v513v514v51807.11.2012IOS80 v6944Es handelt sich hier erneut nur um ein Shop-Channel Update. Es werden das IOS62 und der Shop-Channel v21 installiert.Ansonsten gelten die gleichen Aussagen wie bei 4.3 v1 und 4.3 v2



    3.5 Trucha Bug, Fakesigning Bug, ES_Identify

    Da die obige Erklärung des Trucha Bugs so schön war, sind wir so frei und posten den Text einfach nochmal, doppelt lesen kann nicht schaden:

    Eine wichtige Funktion von IOS ist das Installieren von Dateien, z.B. Kanäle für das Wii-Menü. Dazu sind 2 Sicherheitsschlüssel erforderlich. Der erste Schlüssel nennt sich common-key und ist für jede Wii identisch. Der common-key ist in jeder Wii in einem ROM in der Nähe des Coprozessors Starlet versteckt. Team Twiizers haben ihn durch ihre Tweezer-Attacke ausfindig machen können. Wenn der common-key gerade in Gebrauch ist, dann befindet er sich im 24MB großen RAM der Wii. Wir erinnern uns, durch die Tweezer Attacke war es möglich den RAM der Wii zu untersuchen.

    Der zweite Schlüssel nennt sich private key und befindet sich auf Nintendos Server. Bis heute hat man es nicht geschafft, ihn zu erhalten. Jetzt fragt ihr euch vielleicht, warum es dennoch möglich ist Kanäle zu installieren, obwohl der private key nicht geborgen werden konnte. Nun, Team Twiizers entdeckte in jedem IOS einen Sicherheitsfehler, der als Trucha Bug bezeichnet wird. Jetzt wird es etwas kompliziert (unbekannte Fachausdrücke bitte googeln): Um die Anwesenheit des private keys zu kontrollieren, gebraucht das IOS die Funktion strncmp(). strncmp() ist eine Funktion der Programmiersprache C. Diese überprüft, ob es zwei exakt identische Schleifen gibt. Wenn ein 0 byte erkannt wurde, wird angenommen, dass die Schleifen gleich sind und die Funktion wird beendet bzw. die Sicherheitskontrolle wird abgebrochen. Um also etwas installieren zu können, müssen wir den common-key und ein 0 byte in die Installationsfunktion des IOS übertragen. Die Methode, etwas mit 0 byte anstatt des private keys zu installieren, bezeichnet man als Fakesigning. Der Sicherheitsfehler eines IOS strncmp() zu benutzen ( und ein 0 byte zu erkennen), wird als Trucha Bug bezeichnet.

    Wir fassen also zusammen: Um etwas zu installieren, brauchen wir ein IOS mit dem Trucha Bug. Mit dem Systemmenu 3.3 hat Nintendo es erstmals geschafft, alle IOS mit Trucha Bug zu fixen, indem man die Funktion strncmp() mit memcmp() ersetzt hat, einer Funktion, die nicht abbricht, wenn sie 0 byte gefunden hat.

    Manche Sachen funktionieren trotz Trucha Bug nicht. Die Lösung hierfür ist das Patchen der IOS mit ES_Identify (auch ES_Div genannt), einem Code, der dafür sorgt dass das entsprechende IOS getäuscht wird. Grob erklärt: A funktioniert, B funktioniert nicht. Wenn man nun B mit dem IOS initialisiert, dann wird es geblockt. Wenn das IOS jedoch mit ES_Identify versehen ist, denkt es, dass B, A ist und führt es aus. Der AnyTitleDeleter beispielsweise braucht ein IOS mit ES_Identify. Es gibt verschiedene Möglichkeiten solche IOS zu patchen. Z.B. den Simple IOS Patcher oder DopMii. Alternativ kann man diese IOS auch direkt gepatcht herunterladen, z.B. über das PC-Programm ModMii.
    Zu den IOS/cIOS welche über ES_Identify verfügen, zählen im Normalfall IOS36, IOS236 und IOS250. Bei den cIOS kommt es nicht auf den verwendeten Slot an, sondern auf das Base-IOS, welches zur Erstellung des cIOS gewählt wird.

    3.6 HW_AHBPROT - Eine kleine Revolution in Sachen Homebrew

    Was ist HW_AHBPROT (Hardware Advanced High Performance Bus Protection), woher stammt es und was macht es überhaupt:
    Auf der Suche nach einer Lösung für ein Problem innerhalb von BootMii, machte der Coder "bushing" eine entscheidende Entdeckung. Er war in der Lage einen Code im PPC (dort wird der Großteil aller Codes auf der Wii ausgeführt) auszuführen, der ihm vollen Zugriff auf die Gesamte Hardware der Wii ermöglicht hat. Er vermutete, dass sich Nintendo dieser Schnittstelle bedient, um Diagnosen an der Wii durchzuführen. Zunächst diente es ihm nur als Lösung seines Problems bei BootMii, weshalb es in den aktuellen HackMii Installer v1.0, und folglich auch in den HBC 1.1.0 eingebunden wurde. Diese Funktionen sind fest im HBC verankert und (entgegen weitläufiger Vermutungen) nicht an ein bestimmtes IOS gebunden. Egal auf welchem IOS der HBC ausgeführt wird, HW_AHBPROT steht immer zur Verfügung. Die Möglichkeiten, welche sich daraus ergaben, wurden erst nach und nach klar. Was haben wir als User aber nun davon? Ganz einfach: Es ist seitdem möglich jedes beliebige IOS "on the fly" temporär mit ES_Div zu patchen. Dieses IOS bleibt so lange gepatcht, bis ein anderes IOS geladen wird, oder man einen Reset an der Konsole durchführt.
    Im Klartext heißt das nun, dass ein Programm, welches HW_AHBPROT nutzt, kein gepatchtes IOS mehr benötigt um Daten in den NAND zu schreiben, da der Code des Programms das benötigte IOS für die Dauer der Nutzung temporär patchen kann.

    Leider sorgte ein Fehler im HBC dafür, dass HW_AHBPROT in Verruf geriet, da Programme welche dieses nutzten sehr häufig abgestürzt sind. Passierte so etwas zum Beispiel während der Priiloader Installation, war die Wii ein hübscher Ziegelstein. Es dauerte einige Zeit, bis man herausfand woran das lag. Um es einfach zu halten werde ich nur grob anschneiden worum es dabei ging. Der Fehler wurde durch eine fehlerhafte (oder nicht vorhandene) Internetverbindung hervorgerufen. Der HBC initialisiert diese automatisch beim Start. IOS58, auf welchem der HBC normalerweise läuft, brauchte dann in der Regel zu lange um zu "antworten". Wenn das Homebrewprogramm schon gestartet wurde, bevor der Initialisierungsvorgang abgeschlossen werden konnte, stürzte das Programm ab.
    Das hatte zur Folge, dass viele Coder die HW_AHBPROT Unterstützung wieder aus Ihren Programmen entfernt haben. Nun sollte es aber nicht allzu lange dauern, bis der Coder "davebol" auch hierfür eine Lösung fand. Es handelt sich dabei im Prinzip um einen ganz einfachen Trick. Im Code des jeweiligen Programms müssen lediglich ein paar zusätzliche Zeilen eingefügt werden. Diese bewirken vereinfacht gesagt ein erneutes Laden des IOS58, unabhängig davon, ob die Initialisierung der Internetverbindung abgeschlossen ist oder nicht. Daraus ergaben sich nun ganz neue Möglichkeiten. Der neue Patch, der aus diesen Schlussfolgerungen entstanden ist, heißt "ES_SET_AHBPROT".

    Dieser Patch kann zum Beispiel mit dem neuen Simple IOS Patcher 1.14 auf IOS36/236 angewendet werden. Dadurch wird ermöglicht, dass von nun an nahezu jedes IOS HW_AHBPROT nutzen kann.
    Zur Erinnerung: HW_AHBPROT ist normalerweise an den HBC gebunden. Der HackMii Installer benutzt zur Installation offensichtlich einen Exploit, der nicht freigegeben ist. Daher ist nicht bekannt, wie HW_AHBPROT auch auf einer Virgin-Wii zur Verfügung steht. Ist im TMD eines IOS der HW_AHBPROT Flag gesetzt, steht es auch hier zur Verfügung. Aber auch nur dann. Sobald aber ein IOS mit "ES_SET_AHBPROT" gepatcht wurde, steht HW_AHBPROT immer zur Verfügung. Egal ob der Flag in der TMD gesetzt ist oder nicht. Aber es geht noch weiter. Wenn nun ein Programm beim Start ein IOS lädt, welches mit diesem Patch versehen ist, so besitzt jedes weitere geladene IOS ebenfalls HW_AHBPROT. Und das Ganze vollkommen unabhängig vom HBC oder sonstigen Loadern. Durch diesen neuen Patch werden die Karten völlig neu gemischt. Es ist nun vollkommen egal, ob eine Internetverbindung besteht, oder diese womöglich fehlerhaft eingerichtet ist. Die Programme, welche HW_AHBPROT nutzen, arbeiten auf jeden Fall einwandfrei.

    3.7 Title, Title ID

    Überall ist die Rede von Titles, doch was ist das? Nun, als Title bezeichnet man allgemein Software. Der Homebrew Channel ist ein Title, das IOS30 ist ein Title, Super Mario Bros ist ein Title, World of Goo ist ein Title, das Systemmenü 3.4 ist ein Title usw.

    Da es so viele Titles gibt, muss es auch irgendwas geben, anhand dessen man sie unterscheiden kann. Deshalb ist jeder Title mit einer eigenen, spezifischen ID versehen. Der [[Homebrew Channel]] v1.0.8 beispielsweise, hatte die ID namens "HAXX", der [[HBC]] v1.1.0 trägt die ID "JODI" und der neue [[Homebrew Channel]] v1.1.2 trägt die ID "LULZ". Mehr Infos über Title_IDs könnt ihr euch im folgenden Artikel durchlesen: Klick

    4.0 Brick und Brickschutz

    Das Schlimmste, was einem Wii-Besitzer passieren kann, ist das Bricken einer Wii. Bei uns im Forum haben wir einen eigenen Bereich rund um Bricks und Brickschutzmaßnahmen. Für Fragen dazu, oder für Hilfeanfragen für den Fall, dass eure Wii gebrickt ist, steht es euch frei das Forum zu benutzen. .

    Man unterscheidet im allgemeinen zwischen 4 Brickformen:

    Fullbrick - Eine Wii mit einem Fullbrick bleibt beim Einschalten der Konsole schwarz, oder zeigt eine Fehlermeldung des Opera-Kanals an. Das Systemmenü wird gar nicht gebootet, ebenfalls nicht das DVD-Laufwerk. Manche Fullbricks sind außerhalb BootMii/Boot2 unbehebbar, andere können mit einem Autoboot-Modchip und SaveMiiFrii wiederhergestellt werden. Fullbricks entstehen in der Regel durch falschen Gebrauch von gefährlichen Homebrews, hervorgerufen durch mangelndes Wissen darüber, was man der Wii antut. Deshalb ist es wichtig, sich gut zu informieren, bevor man voreilig ein Update des Systemmenüs durchführt oder irgendein IOS löscht.

    Semi-Brick - Eine Wii mit einem Semi-Brick funktioniert zwar noch, aber man gelangt nicht mehr in die Systemeinstellungen. Stattdessen erhält man einen Warnhinweis bezüglich des Opera-Kanal. Semi-Bricks erhält man, wenn man ein Systemmenü einer falschen Region installiert. Sie lassen sich leicht beheben wenn man nachträglich ein Diskupdate der richtigen Region durchführt, vorausgesetzt man hat eines zur Hand und ein niedrigeres Systemmenü installiert als das, was auf der Disk enthalten ist.

    Bannerbrick - Bannerbricks entstehen beim Installieren einer fehlerhaften Wad mit einem falschen Banner (falsche Größe des Banners). Nach der Gesundheitswarnung wird die Wii freezen. Es könnte auch sein, dass die Meldung auftaucht, die Systemdateien seien fehlerhaft. Um Bannerbricks zu beheben gibt es bei uns im Forum ein Tutorial mit mehr Informationen (Danke an liQuii).

    Error 003 Brick - Dieser Brick tritt am seltensten auf und das nur bei regionveränderten, koreanischen Wii's. Wenn man diesen ein normales Systemmenü-Update verpasst, bleibt das Bild beim nächsten Einschalten mit der Meldung Error 003 schwarz. Da das Rescue-Menü aber noch funktioniert, kann man versuchen die Wii mittels Modchip, SaveMiiFrii und AutobootDVD zu retten.

    4.1 SaveMii, SaveMiiFrii, Rescue-Menü


    Die Wii besitzt ein eigenes Rettungsmenü, das als Rescue-Menü bezeichnet wird. Ist die Wii nicht zu sehr beschädigt, lässt sich dieses Menü durch einen Trick aufrufen. In diesem Menü steht in der unteren rechten Ecke das Systemmenü der Wii. Mit einer Trucha-gepatchten AutobootDVD und einem autobootfähigen Modchip lässt sich die Wii durch Aufspielen eines neuen Systemmenüs retten. Das Rescue-Menü lässt sich auf 2 Arten aufrufen: Indem man einen Gamecube-Controller im vierten Port der Wii steckt und beim Einschalten der Konsole alle Richtungstasten des digitalen Steuerkreuzes drückt, gelangt man zum besagten Menü. Bei einem Original Gamecube-Controller ist das gleichzeitige Drücken der Richtungstasten nicht ohne weiteres möglich. Deshalb ist es notwendig, solche Controller vorher aufzuschrauben. Drittherstellercontroller funktionieren in der Regel ohne dass man sie aufschrauben muss. Diese Methode mit dem Gamecube-Controller wird als SaveMiiFrii bezeichnet.

    Wer unbedingt Geld loswerden will, der kauft sich ein kleines Gerät, das man in einen Gamecube Memorycard-Slot steckt. Beim Booten der Wii übernimmt dieses Gerät die Rolle eines Gamecube-Controllers und ruft somit das Rescue-Menü auf. Das kostenpflichtige Gerät wird als SaveMii bezeichnet. In vielen Augen ist SaveMii jedoch Abzocke, da es im Endeffekt keine wirklichen Vorteile gegenüber einem Gamecube-Controller hat. Die offizielle Website von SaveMii findet ihr >>hier<<.


    4.2 Priiloader, der "Rettungsring" für diverse Bricks.


    Der Priiloader ist eine Weiterentwicklung des Preloaders, welcher ursprünglich vom Coder Crediar entwickelt wurde. Seit geraumer Zeit veröffentlicht der Developer BöhserOnkel den sogenannten Priiloader German Mod. Hierbei handelt es sich um eine Modifikation des ansonsten englischsprachigen Programms. Mit Hilfe von Black.Pearl, welcher den Font für den MOD komplett neu gestaltet hat, wird auch an dieser Version ständig weiterentwickelt. Sinn des Priiloaders ist es, einen zusätzlichen Brickschutz zu gewährleisten. Wenn ihr zum Beispiel BootMii nur als IOS installieren könnt, ist der Priiloader beinahe unverzichtbar, da ihr ansonsten über keinerlei Brickschutz verfügt. Einmal installiert, ist der Priiloader in der Lage noch vor dem Systemmenü gestartet werden zu können. Beim Einschalten der Wii muss man die Reset-Taste an der Vorderseite so lange gedrückt halten, bis das Priiloader-Menü erscheint. Von diesem Menü aus, hat man unter anderem die Möglichkeit, direkt den Homebrew Channel aufzurufen um Bricks, durch beispielsweise Deinstallation von fehlerhaften Wads, zu beheben. Somit lassen sich mit Priiloader Banner- und auch Semi-Bricks beheben. Manchmal sind jedoch die Systemdateien so stark beschädigt, dass man erst gar nicht mehr ins Priiloader-Menü gelangt.

    Die Installation von Priiloader brachte in der Vergangenheit ein gewisses Risiko mit sich, weshalb man hier abwägen musste. Diese Gefahr wurde in den aktuellen Versionen jedoch auf ein absolutes Minimum reduziert. Erfahrungsgemäß liegt die Anzahl an Bricks, die durch eine Installation von Priiloader entstehen bei 0,01%. Diese werden dann auch meist nicht vom Priiloader selbst verursacht, sondern durch Anwenderfehler. Denn eigentlich kann nur ein Stromausfall oder ein Ausschalten der Konsole während der Installation zu einem Brick führen.
    Weitere Informationen zum Priiloader erhaltet ihr in Stufe 2 dieses Tutorials.



    4.3 BootMii - der ultimative Brickschutz...oder doch nicht?

    Wir erinnern uns, boot2 ist ein Code, der das Systemmenü aufruft. Anders als boot1 und boot0 lässt sich boot2 modifizieren, ohne einen Brick auszulösen, allerdings nur bei alten Wiis, die einen Fehler ähnlich des Trucha Bugs im boot1 enthalten. BootMii wurde von Team Twiizers entwickelt und ist eine Modifizierung von boot2. Wenn man BootMii erst mal im boot2 installiert hat, sind selbst Fullbricks kein Problem mehr. Beim Einschalten der Wii erscheint als erstes das BootMii-Menü. In diesem Menü hat man mehrere Aktionsmöglichkeiten. Man kann direkt in den Homebrew Channel gelangen, ein NAND-Backup machen, ein NAND-Backup wieder in den NAND einspielen, oder weiter zum Systemmenü gelangen. Wichtig ist, dass man immer zuerst ein Backup vom NAND macht, nachdem man BootMii installiert hat.
    Nicht jede Wii ist BootMii/Boot2-Kompatibel. Neuere Wii's haben einen gefixten boot1, der eine Modifizierung des boot2 nicht zulässt. In etwa zu vergleichen mit einem gefixten Trucha Bug. Wenn ihr eine neue Wii erwerbt, dann gilt es als sicher, dass sie einen gefixten boot1 enthält, was bedeutet, dass es für solche Wii's keinen 99%igen Brickschutz gibt. Wie auch immer, BootMii lässt sich auch als IOS installieren, was bedeutet, dass es wie jede andere Applikation aus dem Homebrew Channel geladen werden kann. BootMii als IOS bietet logischerweise keinen Brickschutz wie BootMii im boot2 es tut, weil es abhängig vom Homebrew Channel ist. Ohne Priiloader ist BootMii/IOS nahezu nutzlos. Bei vorhandenem Priiloader bietet BootMii/IOS jedoch Schutz vor Banner- und Semibricks, da man so mit Hilfe des Priiloaders ins BootMii-Menü gelangt.

    Zum Schluss noch ein Wort über die Steuerungsmöglichkeiten von BootMii/boot2 und BootMii/IOS. BootMii wird im MINI betrieben, einem sehr schlanken Betriebssystem. Es bietet keinen Support für Bluetooth, weshalb man mit der Wii-Fernbedienung nicht im BootMii-Menü navigieren kann. Ausschließlich folgende Steuerungsoptionen sind möglich:

    1) Gamecube Controller
    2) Reset-, Power-, und Eject-Tase an der Wii (Power-Taste = Navigation durch die Punkte, Reset-Taste = Auswahl, Eject = Bestätigung beim Einspielen eines NAND-Backups)

    Nähere Infos über BootMii und Spendenmöglichkeiten gibt es auf der einzigen offiziellen Website bootmii.org.


    6.0 NAND-Emulation


    Die Wii-Szene ist bereits so weit fortgeschritten, dass man sogar den NAND, auf einer gewöhnlichen SD-Karte oder einem USB-Speichermedium emulieren kann. Dies funktioniert mit dem Programm SNEEK (SD NAND/ES Emulation Kit), oder UNEEK (USB NAND/ES Emulation Kit). Ein Tutorial mit weiteren interessanten Infos gibt es hier. Den Diskussionsthread zu SNEEK findet ihr hier.

    7.0 Zusätzliche Informationen

    Schwarze/Rote Wii's und auch neuere weiße Wii's enthalten das D3-2-Laufwerk. Dieses Laufwerk kann ausschließlich originale Wii- und Gamecube-Disks lesen und abspielen. Ein Abspielen von Film-/Daten-DVDs oder gebrannten CDs/DVDs ist nicht möglich.

    Es gibt kein 100%ig sicheres Merkmal für eine Wii mit einem D3-2-Laufwerk, lediglich Indizien. So ist es gut möglich, dass Wii's mit einer Seriennummer LEH/LEF250+ jenes Laufwerk enthalten. Eine nützliche Seite die weitere Indizien gibt ist diese hier. Dort einfach die komplette Seriennummer eingeben und das Ergebnis ansehen.

    Bitte nicht falsch verstehen, diejenigen die BootMii nur als IOS installieren können, haben KEINEN wirklichen Brickschutz und werden auch nie einen bekommen. Ein NAND-Backup sollte man dennoch zwingend anlegen. BootMii/IOS ist nützlich, wenn man als Ahnungsloser ein Banner- oder Semibrick verursacht hat, und nicht genau weiß wie man das beheben soll. In diesem Fall steht die radikale Möglichkeit zur Verfügung, das NAND-Backup einfach in den NAND zu flashen und somit alles darin zu überschreiben. BootMii/IOS-Besitzer werden allerdings von BootMii gewarnt, dass dieser Einspielprozess sehr gefährlich ist, da die Wii bei einer kleinen Störung bricken könnte. Um den Einspielprozess zu beginnen, müssen mit einem Gamecube-Controller alle auf dem Bildschirm gezeigten Tasten gleichzeitig gedrückt werden. Dazu könnte man schon einige Anläufe brauchen.

    Hinweis: NAND-Backups bitte nur in Ausnahmefällen einspielen, da keine Software perfekt ist und jederzeit die Wii bricken kann!



    Inhaltsverzeichnis
    1. Einleitung und Basiswissen
    2. Vorwort zum Installationsbeginn, Umgang mit dem Homebrew Channel, NUS Downloader, Wad
    3. Stufe 1 - Variante A (Automatisierter Softmod mit Hilfe des UHG-Downloaders)
    4. Stufe 1 - Variante B (Konventioneller, manueller Softmod)
    5. Stufe 2 - Systemmenü-Hacks - Priiloader(dringend Empfohlen) und Custom-System-Menü (optional)
    6. Stufe 3 - Backup Disk Loader, Backup USB Loader
    7. Exkursion - Der Gamecubemodus, MIOS, cMIOS, BC
    8. Glossar, Fehlermeldungen und Abschließende Worte
    9. Umfrage
    10. Changelog und Update-Reports zum nUHG

    Dieser Beitrag wurde bereits 122 mal editiert, zuletzt von Belshirash ()