nn_idbe.rpl is a library that downloads and decrypts icon databases.
The library can downloads icons for Wii U or 3DS titles.
For Wii U icons,
Replace %02X with 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 the version number.
If you just want the latest icon, you can also use
e.g. the icon for Splatoon is https://idbe-wup.cdn.nintendo.net/icondata/10/0005000010176A00.idbe
For 3DS icons:
These sites use a self-signed SSL certificate, but do allow access without special client certificates (i.e. accessible from a regular browser)
nn_idbe contains hardcoded keys in one 0x50 sized block (0x10 * 5), consisting of the 16-byte hardcoded IV, and 4 hardcoded 16-byte AES-128 keys.
In OSv12 (000500101000400A), the keys are located at $.rodata+0x4c of nn_idbe.rpl.
Here are the keys: (no copyright issue as OSv12 is a free title Kappa)
IV = "A46987AE47D82BB4FA8ABC0450285FA4" K0 = "4AB9A40E146975A84BB1B4F3ECEFC47B" K1 = "90A0BB1E0E864AE87D13A6A03D28C9B8" K2 = "FFBB57C14E98EC6975B384FCF40786B5" K3 = "80923799B41F36A6A75FB8B48C95F66F" AES_KEYS = [K0, K1, K2, K3]
|0x1||0x1||AES key index|
|0x2||Remainder||Encrypted file contents|
|0x0||0x20||SHA256 hash of the rest of the data|
|0x28||0x18||Unknown (See note 1 below)|
|0x50||0x200*16||Title Info (See note 2 below)|
|0x0||0x80||Short title name|
|0x80||0x100||Full title name|
Note 1: The first 8 bytes of this section seem to always be relatively empty, where as the last 16 seem to always been some combination of the characters € and À.
- Breath of The Wild: https://i.imgur.com/qI9ehUQ.png
- Super Mario Maker: https://i.imgur.com/lNfcAM5.png
- Tekken Tag Tournament 2: https://i.imgur.com/8bJeD56.png
- Minecraft WiiU: https://i.imgur.com/fiC840J.png
Note 2: Each of the 16 0x200-length groups has 3 UTF-16-BE text blocks. There is always 3 blocks, even if the string does not take up the entire (or any of the) block. Each group is for a different language/region. The first group is for Japanese, the order of the other languages is unknown.
- New SUPER MARIO BROS. U + New SUPER LUIGI U: https://i.imgur.com/IeAAKuZ.png
- Super Mario Maker: https://i.imgur.com/Q6yWYiO.png
- Tekken Tag Tournament 2: https://i.imgur.com/f4ENuT5.png
- Minecraft WiiU: https://i.imgur.com/xZPCbdQ.png
Example decryptor here: https://github.com/NexoDevelopment/idbe_decrypt/