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 | Größe der Zertifikatskette |
0x000C | 0x000F | 4 | Reserviert (immer 0) |
0x0010 | 0x0013 | 4 | Ticket-Größe |
0x0014 | 0x0017 | 4 | TMD-Größe |
0x0018 | 0x001B | 4 | Daten-Größe (verschlüsselte APP-Dateien) |
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.