Difference between revisions of "WAD files"
Jump to navigation
Jump to search
(updated.) |
|||
Line 26: | Line 26: | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x007 | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x007 | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
− | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | | + | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | WAD Type ('Is\0\0' or 'ib\0\0' or 'Bk\0\0') |
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x008 | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x008 | ||
Line 51: | Line 51: | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01B | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01B | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
− | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | | + | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | data size |
|- style="background-color: #ddd;" | |- style="background-color: #ddd;" | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x01C | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ded;" | 0x01C | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01F | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #dde;" | 0x01F | ||
| style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #ddd;" | 4 | ||
− | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | | + | | style="border: 1px solid #ccc; padding: 0.2em; background-color: #edd;" | Footer size |
|} | |} | ||
− | The | + | The contents are stored in the WAD in the same order as in the TMD. Each block (header, contents) is aligned to 0x40 bytes. |
− | + | The contents are encrypted using the title key (decrypt it from the [[Ticket|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 that stored in the TMD. | |
− | + | === Footer === | |
− | + | The "footer" is an optional, unencrypted timestamp / buildstamp. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | The " | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 00:29, 20 June 2008
WAD Format
The data within a WAD file has the following format.
This page is horribly out of date. Expect an update when the dust of recent events settles.
NOTE: Recently updated, should the certificate/ticket/TMD data be deleted?.
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 size |
0x01C | 0x01F | 4 | Footer size |
The contents are stored in the WAD in the same order as in the TMD. Each block (header, contents) is aligned to 0x40 bytes.
The contents 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 that stored in the TMD.
The "footer" is an optional, unencrypted timestamp / buildstamp.