Difference between revisions of "WAD files"
m (category) |
WiibrewBot (talk | contribs) m (Robot: Cosmetic changes) |
||
Line 60: | Line 60: | ||
The contents are stored in the WAD in the same order as in the TMD. Each file is aligned to 0x40 bytes. | The contents are stored in the WAD in the same order as in the TMD. Each file is aligned to 0x40 bytes. | ||
− | The contents (Data section) are encrypted using the title key (decrypt it from the [[ | + | The contents (Data section) are encrypted using the title key (decrypt it from the [[ticket]]) and the content index (in the TMD, the 2 first bytes of the IV are the index, the last 14 bytes are zeroes) as IV. The SHA1 of the decrypted content must match the hash that is stored in the TMD. |
− | In a hex editor, the beginning of any WAD will be 00 00 00 20 49 73. | + | In a hex editor, the beginning of any WAD will be 00 00 00 20 49 73. This can be useful to remove a WAD from an ELF file. |
=== Footer === | === Footer === | ||
The "footer" is an optional, unencrypted timestamp / buildstamp. | The "footer" is an optional, unencrypted timestamp / buildstamp. | ||
− | [[Category: | + | |
+ | [[Category:Wii Software]] | ||
[[Category:File formats]] | [[Category:File formats]] |
Revision as of 18:21, 10 August 2009
- This application is about Wii software packaging. For other uses, see WiiDoom.
WAD Format
The data within a WAD file has the following format.
Thanks to Segher for his source.
Header
Start | End | Length | Description |
---|---|---|---|
0x000 | 0x003 | 4 | Header size = 0x0020 |
0x004 | 0x007 | 4 | WAD Type ('Is\0\0' or 'ib\0\0' or 'Bk\0\0') |
0x008 | 0x00B | 4 | Certificate chain size. |
0x00C | 0x00F | 4 | Reserved = 0 |
0x010 | 0x013 | 4 | Ticket size |
0x014 | 0x017 | 4 | TMD size |
0x018 | 0x01B | 4 | Data (APP) size |
0x01C | 0x01F | 4 | Footer size |
The sections are stored in the WAD in the same order that in the header. Each block (header, sections) is aligned to 0x40 bytes.
The contents are stored in the WAD in the same order as in the TMD. Each file is aligned to 0x40 bytes.
The contents (Data section) are encrypted using the title key (decrypt it from the ticket) and the content index (in the TMD, the 2 first bytes of the IV are the index, the last 14 bytes are zeroes) as IV. The SHA1 of the decrypted content must match the hash that is stored in the TMD.
In a hex editor, the beginning of any WAD will be 00 00 00 20 49 73. This can be useful to remove a WAD from an ELF file.
The "footer" is an optional, unencrypted timestamp / buildstamp.