/tmp/nandTest.dat

From WiiBrew
Jump to navigation Jump to search

/tmp/nandTest.dat is a 25.6MB file created during the factory process to test reading and writing the NAND. It contains a specific pseudorandom pattern. The contents can be downloaded here.

The program that uses this file copies the file across the NAND using /dev/flash and copies it back, allowing bad copies to be identified.

This program has the side effect of overwriting most of the earlier factory remnants with this pattern, making factory analysis more difficult.

Like other contents of /tmp, it is erased on every boot and IOS reload.

Algorithm

This file is generated by the SDK rand function.

s32 seed = 1;
s16 rand(void) {
    seed *= 0x41C64E6D;
    seed += 12345;
    return (s16) seed >> 16;
}

u8 getRandomChar(void) {
   return rand() >> 8;
}