WAD
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 | 0x0007 | 4 | WAD-Typ ('Is\0\0' oder 'ib\0\0' (boot2) oder 'Bk\0\0')) |
0x0008 | 0x000B | 4 | Zertifikatsketten-Größe |
0x000C | 0x000F | 4 | Reserviert (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:
- Zertifikatskette
- Ticket
- TMD
- Verschlüsselte APP-Dateien
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.
Der Footer ist ein optionaler, unverschlüsselter Time-/Buildstamp.
Hinweise
- Die Datengröße im Header bezieht sich auf die Größe der verschlüsselten App-Daten, nicht auf die Größe der entschlüsselten Daten (also mit Padding)
- Die APP-Daten im Körper scheinen an 16 Bytes, anstatt an 64 ausgerichtet zu sein