Stub IOS

From WiiBrew
Jump to navigation Jump to search

A Stub IOS is an IOS that serves no purpose other than a placeholder. They are released to overwrite other IOSes, either to overwrite a cIOS in a specific slot and break homebrew, or to remove an unused IOS, freeing up space and removing the need to maintain the unused branch as new exploits are found.

Stub IOSes generally have 3 contents: a 0x40 byte build tag, and two shared contents, which depend on the variant. The first shared content generally contains ES, while the second contains FFSP and the kernel (including IOSP).

Variants

There are several variants of stub IOSes.

2008 variant

The first stub IOSes were released in 3.3rev03 to IOS4, IOS10, IOS11 and IOS20, with a size of 245760. They were built by someone named yasuh-to@TONKAT. This variant was also used for the IOS30 stub distributed in 3.4, and the IOS3 stub that was never released on NUS.

The 2008 variant was based on IOS51, although the IOS51 stub was not of this variant.

4.0 variant

The 4.0 variant came in two batches and was based on IOS61.

The first batch had size 245760 and was built by kenshu@MAENORYU; it was used by IOS16 and IOS40. The second batch had size 229376 and was built by @SAITOT; it was used by IOS50 and IOS51.

4.2 variant

The 4.2 stubs, including both IOS60 and the cIOS stubs, also have a size of 229376 just like the 4.0 variant, but were built by kenshu@MAENORYU. It is based on the functional version of IOS60.

Interestingly, IOS222 and IOS223 have the same build tag, and IOS249 and IOS250 have the same build tag (different from IOS222 and IOS223).

In addition to the 4.2 stubs, IOS52 (stubbed in 4.1rev02K) is of this variant.

IOS70

IOS70 has size 245760, but has nothing in common with the 2008 variant of stub IOSes. It was built by saito_tomoya@IR and is based on the functional version of IOS70.

IOS254

IOS254 also has size 245760, but it has nothing common with IOS70 or the 2008 stubs. It was built by tokunaga_yasuhi and based on IOS80.