
The News Channel download data packages from Nintendo servers via plain http connection. Some examples: http://news.wapp.wii.com/v2/1/076/news.bin.00 ... http://news.wapp.wii.com/v2/1/076/news.bin.23 http://news.wapp.wii.com/ displays a Red Hat Enterprise Linux Test Page. File structure: $0000 - $003F: padding (00) $0040 - $013F: rsa encrypted sha-1 signature of rest of the file $0140 - $0143: header $0144 - .....: compressed data The compression is very simple: 1. Read one byte 2. For each bit of the byte, msb-to-lsb, * if 0, copy one byte to the output * if 1, read 16 bits msb first in v, copy n bytes at offset m from the end of the output, n=3+(v>>12), m=v & fff Quick and very dirty C code: i = 0x144; j = 0; while(i < size) { int k; int v = data[i++]; for(k=0; k<8; k++) if(!(v & (1 << (7-k)))) { result_data[j++] = data[i++]; } else { int vv = (data[i] << 8) | data[i+1]; int nb = 3+(vv >> 12); int off = (vv & 0xfff); int l; i+=2; for(l=0; l<nb; l++) { result_data[j] = result_data[j-off-1]; j++; } } }
Accedi per vedere chi altro ci gioca.