Dieser Artikel betrifft die Nintendo Wii

WAD

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen

Eine WAD (Wii Archive Data) ist ein verschlüsselter Container, der Titel für die Nintendo Wii beinhaltet - darunter Kanäle, IOS und Systemmenüs. WADs können mit einem WAD-Installer installiert werden - wenn es sich dabei um Kanäle handelt, tauchen diese im Wii-Menü auf (sollten diese keine versteckte Kanäle sein, wie der EULA-Kanal).

Struktur

Header

Start Ende Länge Beschreibung
0x0000 0x0003 4 Header-Größe (immer 0x0020)
0x0004 0x0005 2 WAD-Typ: Is für installierbare WADs, ib für Boot2, Bk für Backup-WADs
0x0006 0x0007 2 WAD-Version (immer 0)
0x0008 0x000B 4 Größe der Zertifikatskette
0x000C 0x000F 4 Größe der Certificate Revocation List (immer 0)
0x0010 0x0013 4 Ticket-Größe (ohne Zertifikate)
0x0014 0x0017 4 TMD-Größe (ohne Zertifikate)
0x0018 0x001B 4 Daten-Größe der verschlüsselten APP-Daten
0x001C 0x001F 4 Footer-Größe

Körper

Die Sektionen im Körper der WAD sind in der gleichen Reihenfolge angeordnet wie im Header. Jeder Block (Header, Sektionen) ist an 0x40 Bytes ausgerichtet. Demzufolge ist der Körper so angeordnet:

Dateien

Die Dateien im Körper sind verschlüsselt mit dem Title-Key (kann vom Ticket entschlüsselt werden), wobei der jeweilige Inhaltsindex als Initialisierungsvektor dient (die ersten zwei Bytes, die restlichen 14 sind mit Nullen aufgefüllt). Die SHA1-Summen der entschlüsselten Dateien muss mit den SHA1-Summen aus der TMD übereinstimmen.

Die Reihenfolge ist dieselbe wie in der TMD, und jede Datei für sich ist auf 0x40 Bytes aufgefüllt. Größe und SHA1-Summe in der TMD zählen dabei nur die echten Daten, nicht das Padding.

Footer

Der Footer ("Meta") ist ein optionaler, unverschlüsselter Time-/Buildstamp. Bei WADs auf Update-Partitionen ist er 64 Byte groß und enthält den Namen des Titels mit Zeitstempel im Format JJMMTTHHMM, ab 0x2C zwei Versionsbytes und ab 0x30 den Benutzer, der den Build angestoßen hat:

0000  66 69 72 6d 77 61 72 65 2e 36 34 2e 31 30 30 37  firmware.64.1007
0010  32 36 30 37 30 39 00 00 00 00 00 00 00 00 00 00  260709..........
0020  00 00 00 00 00 00 00 00 00 00 00 00 01 02 00 00  ................
0030  61 64 6d 69 6e 40 46 57 50 55 42 4c 49 53 48 00  admin@FWPUBLISH.

Installiert werden Footer nach /meta.

WADs für ES_ImportBoot

Daneben gibt es eine zweite Kopfform, die IOS beim Aufruf von ES_ImportBoot erwartet. Sie hat keine eigene Kennung.

Start Ende Länge in Byte Beschreibung
0x0000 0x0003 4 Header-Größe (immer 0x0020)
0x0004 0x0007 4 Offset der Inhalte
0x0008 0x000B 4 Größe der Zertifikatskette
0x000C 0x000F 4 Ticket-Größe
0x0010 0x0013 4 TMD-Größe
0x0014 0x0017 4 Größe des Footers
0x0018 0x001B 4 Inhalts-ID des Footers
0x001C 0x001F 4 Größe der Certificate Revocation List

Der Körper enthält Zertifikatskette, Ticket, TMD und Footer direkt ohne Padding hintereinander.

Backup-WADs

Lückenhaft Im folgenden Abschnitt fehlen noch folgende wichtige Informationen: Hilf dem WiiDatabase Wiki, indem du sie recherchierst und einfügst.

WADs vom Typ Bk werden vom Wii-Systemmenü erstellt, wenn Kanäle und Speicherdaten auf die SD-Karte abgelegt werden (als content.bin).