In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
1,725 bytes added ,  03:48, 1 July 2015
Add description of nn_idbe.rpl
nn_idbe.rpl is a library that downloads and decrypts icon databases.

== Addresses ==
The library can downloads icons for Wii U or 3DS titles.

For Wii U icons, <pre>https://idbe-wup.cdn.nintendo.net/icondata/%02X/%016llX-%d.idbe</pre>

Replace %02X with (I think?) the first two digits of the second half of the title ID? (passing in 10 works fine) and %016llX with the 16-digit title ID. the last %d is probably the version number.

If you just want the latest icon, you can also use <pre>https://idbe-wup.cdn.nintendo.net/icondata/%02X/%016llX.idbe</pre>

e.g. the icon for Splatoon is https://idbe-wup.cdn.nintendo.net/icondata/10/0005000010176A00.idbe

For 3DS icons: <pre>https://idbe-ctr.cdn.nintendo.net/icondata/%02X/%016llX-%d.idbe</pre> or <pre>https://idbe-ctr.cdn.nintendo.net/icondata/%02X/%016llX.idbe</pre> for latest.

These sites use a self-signed SSL certificate, but do allow access without special client certificates (i.e. accessible from a regular browser)

== Encryption ==

The icon database is encrypted with AES128 CBC. There's a two byte header:

0: (unknown, usually zero?)
1: key index

followed by encrypted data.

nn_idbe contains hardcoded keys in one 0x50 sized block, consisting of the 16-byte hardcoded IV, and 4 hardcoded 16-byte AES128 keys.

In version 11464 of OSv11 (000500101000400A), the keys are located at $DATA+0x4c of nn_idbe.rpl.

== Decrypted icon format ==

There's a SHA256 of the data at the beginning of the file. After the sha, there's some stuff that contains UTF-16 text of the game name and publisher, then image data begins.

The image data has a header of 2 little-endian shorts for width and height (128x128 for most icons), then two bytes (20 08), then RGBA data.
28

edits

Navigation menu