Home docs IDBE
Post

IDBE

This server provides icon data for 3DS, Wii U and Switch titles.

PlatformServer
3DShttps://idbe-ctr.cdn.nintendo.net
Wii Uhttps://idbe-wup.cdn.nintendo.net
Switchhttps://idbe-hac.cdn.nintendo.net

An icon file can be retrieved by sending a GET request to one of the following URLs:

URLDescription
/icondata/<id>/<titleid>.idbeProvides the latest icon data for a title
/icondata/<id>/<titleid>-<version>.idbeProvides the icon data for a specific version of a title

The title id must be specified as 16 uppercase hex digits. The first id should be (titleid >> 8) & 0xFF. For example, if the title id is 0005000010137D00 then the first id should be 7D. The server seems to ignore this value though.

File Format

OffsetSizeDescription
0x01Always 0
0x11Key type
0x2 Encrypted icon data

The icon data is encrypted with AES-CBC. The IV is always a46987ae47d82bb4fa8abc0450285fa4.

TypeKey
04ab9a40e146975a84bb1b4f3ecefc47b
190a0bb1e0e864ae87d13a6a03d28c9b8
2ffbb57c14e98ec6975b384fcf40786b5
380923799b41f36a6a75fb8b48c95f66f

Icon Data Format

Wii U files are encoded in big-endian byte order, 3DS files in little-endian byte order.

OffsetSizeDescription
0x032SHA256 checksum of the remaining data
0x208Title id
0x284Title version
0x2C4Unknown
0x304Unknown
0x3416Unknown
0x444Unknown
0x488Unknown
0x500x200 x 16Title strings in different languages

Wii U:

OffsetSizeDescription
0x20500x1002CTGA file
0x1207C4Unknown

3DS:

OffsetSizeDescription
0x20500x48024x24 pixel RGB565 icon
0x24D00x120048x48 pixel RGB565 icon

The RGB565 icons use the same tiling method used in SMDH files, much like the rest of the 3DS. The IDBE format is likely based on the SMDH format. For more information on how this tiling system works, see https://3dbrew.org/wiki/SMDH#Icon_graphics

Although now explicitly stated to be made for the 3DS, this Node.js module works for these icons and is said to be based on existing SMDH tools https://npmjs.com/package/tiled-image-tools

Title Strings

OffsetSizeDescription
0x0128Short name (utf-16)
0x80256Long name (utf-16)
0x180128Publisher name (utf-16)

Languages

The header has room for 16 languages but only 12 are actually used. The remaining languages have empty strings.

IndexLanguage
0Japanese
1English
2French
3German
4Italian
5Spanish
6Chinese (simple)
7Korean
8Dutch
9Portuguese
10Russian
11Chinese (traditional)
Contents