IDBE
IDBE is Nintendo's title icon database. Entries contain title icon, region, and name (in various languages). All game titles are on the server (excluding DSiWare?), including demos and updates.
URLs
https://idbe-ctr.cdn.nintendo.net/icondata/%02X/%016llX.idbe
https://idbe-ctr.cdn.nintendo.net/icondata/%02X/%016llX-%d.idbe
%02X seems to always be 0x10 (?)
%016llX is the title id.
%d is an optional title version.
Encryption
The icon database is encrypted with AES-128 CBC. All icons use the same IV and one of 4 possible keys (as specified by the key index in the header).
The IV/keys are likely hardcoded on the 3DS, but not sure where. They are also on the WiiU.
Data
Offset | Size | Description |
0x0 | 0x1 | ? (usually zero) |
0x1 | 0x1 | Key index |
0x2 | 0x36D0 | Encrypted data |
Encrypted Data
Icon data is uncompressed RGB565.
Offset | Size | Description |
0x0 | 0x20 | SHA256 Checksum |
0x20 | 0x10 | ? |
0x30 | 0x4 | Region bit flags (u32 little endian) |
0x34 | 0x1C | ? |
0x50 + i * 0x200 | 0x200 | Language chunk where i = language index |
0x2050 | 0x480 | 24x24 Icon data |
0x24D0 | 0x1200 | 48x48 Icon data |
Language Chunk
Data in these chunks use UTF-16 encoding.
Offset | Size | Description |
0x0 | 0x80 | Short title |
0x80 | 0x100 | Long title |
0x180 | 0x80 | Publisher |