Line 1:
Line 1:
−
:''This article is about Wii software packaging. For the data files used by Doom, see [[WiiDoom]].''
+
:''This article is about Wii software packaging. For the WAD data files used by Doom, see [[WiiDoom]].''
−
==General info==
+
The '''WAD''' file-format is a package that contains title information for the Wii, such as System Menus, IOS versions, and channels.
−
The WAD file-format is a package that contains title information for the Wii, such as System Menus, IOS versions, and channels.
−
===Piracy===
−
Unfortunately, WAD files are often used to distribute pirated channels (both Virtual Console and WiiWare), due to the fact that they are also used by Nintendo and therefore easy to rip from the Wii and, for some WAD files, Nintendo's servers, and easy to create installers for. Wiibrew does not in any way endorse piracy, and as such these uses of WAD files should not be discussed.
−
−
If you wish to discuss legitimate WAD files, please ensure you make clear which file you are talking about and what you will use it for, to prevent people jumping to conclusions about your intentions.
== System Menu ==
== System Menu ==
Line 12:
Line 7:
Wii System Channel WAD files exist for WiiMC, ftpii, and numerous others.
Wii System Channel WAD files exist for WiiMC, ftpii, and numerous others.
−
Forwarders are somewhat easier to locate, a common one being the Narolez-NForwarder, for which source exists and is easily modifiable. One WAD generation system that still appears to be active is the CRAP system that appears to be .NET based. The Wadder system also seemed to be .NET based but it appears abandoned. Although these tools are often associated with piracy, there are clearly legitimate uses for them as well.
+
Forwarders are somewhat easier to locate, a common one being the Narolez-NForwarder, for which source exists and is easily modifiable. One WAD generation system that still appears to be active is the CRAP system that appears to be .NET based. Although these tools are often associated with piracy, there are clearly legitimate uses for them as well.
The WAD files themselves contain either still images or a collection of images to be animated, as well as sound data. In addition there is a .DOL file for the program to be run when launched.
The WAD files themselves contain either still images or a collection of images to be animated, as well as sound data. In addition there is a .DOL file for the program to be run when launched.
Line 37:
Line 32:
| 0x05
| 0x05
| 0x02
| 0x02
−
| WAD Type. 'ib' is used for [[boot2]] WADs, 'Is' for everything else.
+
| WAD Type. 'ib' (ImportBoot?) is used for [[boot2]] WADs, 'Is' for everything else.
|-
|-
| 0x06
| 0x06
Line 84:
Line 79:
The encrypted content data section is composed of content files, which are stored following the same order from the TMD content records. These are encrypted using the decrypted titlekey from the [[Ticket]] and the content index as the IV (first two bytes, followed by 14 zeroes). The SHA-1 checksum of the decrypted content must match the hash from its corresponding TMD content record. Each content is individually aligned to a 0x40-byte boundary.
The encrypted content data section is composed of content files, which are stored following the same order from the TMD content records. These are encrypted using the decrypted titlekey from the [[Ticket]] and the content index as the IV (first two bytes, followed by 14 zeroes). The SHA-1 checksum of the decrypted content must match the hash from its corresponding TMD content record. Each content is individually aligned to a 0x40-byte boundary.
−
The footer is an optional, unencrypted timestamp / buildstamp. It's usually the first decrypted 0x40 bytes from the first content file.
+
The footer is an optional, unencrypted timestamp / buildstamp. It's usually the first decrypted 0x40 bytes from the first content file, and it is what gets installed into [[:/meta]] by older SDK versions.
In a hex editor, the beginning of any installable WAD will be <code>00 00 00 20 49 73 00 00</code>. This can be useful to extract an embedded installable WAD from an ELF binary.
In a hex editor, the beginning of any installable WAD will be <code>00 00 00 20 49 73 00 00</code>. This can be useful to extract an embedded installable WAD from an ELF binary.
Line 121:
Line 116:
| 0x0B
| 0x0B
| 0x04
| 0x04
−
| Console ID.
+
| Console ID (either [[Hardware/OTP|NG ID]] or null).
|-
|-
| 0x0C
| 0x0C
Line 184:
Line 179:
Please note that, unlike <code>content.bin</code> files from channels, each <code><index>.bin</code> file from transferred DLCs only holds a single encrypted content. This also means that a single bit from the entire included contents bitfield is enabled.
Please note that, unlike <code>content.bin</code> files from channels, each <code><index>.bin</code> file from transferred DLCs only holds a single encrypted content. This also means that a single bit from the entire included contents bitfield is enabled.
−
[[Category:Software]]
[[Category:File formats]]
[[Category:File formats]]