IDBE: Unterschied zwischen den Versionen

KKeine Bearbeitungszusammenfassung
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 16: Zeile 16:
* https://idbe-ctr.cdn.nintendo.net/icondata/16/0004000E00022800.idbe = StreetPass Mii-Lobby Update
* https://idbe-ctr.cdn.nintendo.net/icondata/16/0004000E00022800.idbe = StreetPass Mii-Lobby Update
* https://idbe-wup.cdn.nintendo.net/icondata/16/00050000101C9500.idbe = The Legend of Zelda: Breath of the Wild
* https://idbe-wup.cdn.nintendo.net/icondata/16/00050000101C9500.idbe = The Legend of Zelda: Breath of the Wild
* https://idbe-wup.cdn.nintendo.net/icondata/16/0005000010109000.idbe = Super Mario 3D World
* https://idbe-wup.cdn.nintendo.net/icondata/16/0005000010145D00.idbe = Super Mario 3D World
* https://idbe-wup.cdn.nintendo.net/icondata/16/0005000E101C9500-97.idbe = The Legendof Zelda: Breath of the Wild Update (v97)
* https://idbe-wup.cdn.nintendo.net/icondata/16/0005000E101C9500-97.idbe = The Legend of Zelda: Breath of the Wild Update (v97)


== Verschlüsselung ==
== Verschlüsselung ==
Die Icon-Datenbank ist verschlüsselt mit AES-128-CBC. Alle Icons nutzen den gleichen [[w:Initialisierungsvektor|Initialisierungsvektor]] und einen von vier möglichen Schlüsseln (siehe Schlüssel-Index im Header).
Die Icon-Datenbank ist (ab dem dritten Byte) verschlüsselt mit AES-128-CBC. Alle Icons nutzen den gleichen [[w:Initialisierungsvektor|Initialisierungsvektor]] und einen von vier möglichen Schlüsseln (siehe Schlüssel-Index im Header).


IV und Schlüssel sind hardcodiert, für den 3DS aber unbekannt. Auf der Wii U ist [http://wiiubrew.org/wiki/Nn_idbe.rpl nn_idbe.rpl] für die Icon-Datenbank zuständig und enthält Schlüssel in einem 0x50-Bytes großen Block, bestehend aus dem 16-Byte großen, hardcodierten Initialisierungsvektor und vier hardcodierten 16-Byte AES-128 Schlüsseln. In Version 11464 von OSv11 (000500101000400A) befinden sich die Schlüssel bei $DATA+0x4C von nn_idbe.rpl.
IV und Schlüssel sind hardcodiert. Auf dem 3DS ist unbekannt, wo diese liegen. Auf der Wii U ist [http://wiiubrew.org/wiki/Nn_idbe.rpl nn_idbe.rpl] für die Icon-Datenbank zuständig und enthält Schlüssel in einem 0x50-Bytes großen Block, bestehend aus dem 16-Byte großen, hardcodierten Initialisierungsvektor und vier hardcodierten 16-Byte AES-128 Schlüsseln. In OSv12 (000500101000400A) befinden sich die Schlüssel bei $.rodata+0x4c der nn_idbe.rpl.
 
=== Schlüssel ===
{| class="wikitable"
|-
! Name
! Schlüssel<ref>https://github.com/Repo3DS/shop-cache/blob/master/TitleInfo.py#L232-L233</ref>
|-
| IV
| <code>a46987ae47d82bb4fa8abc0450285fa4</code>
|-
| key0
| <code>4ab9a40e146975a84bb1b4f3ecefc47b</code>
|-
| key1
| <code>90a0bb1e0e864ae87d13a6a03d28c9b8</code>
|-
| key2
| <code>ffbb57c14e98ec6975b384fcf40786b5</code>
|-
| key3
| <code>80923799b41f36a6a75fb8b48c95f66f</code>
|}


== Daten ==
== Daten ==
Zeile 38: Zeile 60:
| 0x1
| 0x1
| 0x1
| 0x1
| Key-Index
| [[#Schlüssel|Key-Index]]
|-
|-
| 0x2
| 0x2
Zeile 54: Zeile 76:
| 0x0
| 0x0
| 0x20
| 0x20
| SHA256-Hash
| SHA256-Hash der entschlüsselten Daten (also ohne Header) ohne Hash
|-
|-
| 0x20
| 0x20
Zeile 76: Zeile 98:
| 24x24 Icon
| 24x24 Icon
|-
|-
| 00x24D0
| 0x24D0
| 0x1200
| 0x1200
| 48x48 Icon
| 48x48 Icon
Zeile 86: Zeile 108:
* [https://www.3dbrew.org/wiki/IDBE 3DBrew]
* [https://www.3dbrew.org/wiki/IDBE 3DBrew]
* [http://wiiubrew.org/wiki/Nn_idbe.rpl WiiUBrew]
* [http://wiiubrew.org/wiki/Nn_idbe.rpl WiiUBrew]
<references />


{{Top Icon 3DS}}
{{Top Icon 3DS}}
{{Top Icon Wii U}}
{{Top Icon Wii U}}
[[Kategorie:Nintendo 3DS]]
[[Kategorie:Nintendo Wii U]]

Aktuelle Version vom 17. März 2019, 18:41 Uhr

IDBE ist Nintendos Titel-Icon-Datenbank. Jeder Eintrag enthält ein Icon, die Region und den Namen in mehreren Sprachen, ähnlich einer SMDH. Alle Spieletitel sind auf dem Server, inklusive Demos und Updates (nicht DLCs).

URLs

https://idbe-CODE.cdn.nintendo.net/icondata/16/TITLEID.idbe
https://idbe-CODE.cdn.nintendo.net/icondata/16/TITLEID-VERSION.idbe
  • CODE: ctr für 3DS, wup für Wii U
  • 16: Unbekannt, ob immer 16. Andere Werte scheinen ebenfalls gültig zu sein
  • TITLEID: Title-ID, großgeschrieben
  • VERSION: Optionale Titel-Version

Beispiele:

Verschlüsselung

Die Icon-Datenbank ist (ab dem dritten Byte) verschlüsselt mit AES-128-CBC. Alle Icons nutzen den gleichen Initialisierungsvektor und einen von vier möglichen Schlüsseln (siehe Schlüssel-Index im Header).

IV und Schlüssel sind hardcodiert. Auf dem 3DS ist unbekannt, wo diese liegen. Auf der Wii U ist nn_idbe.rpl für die Icon-Datenbank zuständig und enthält Schlüssel in einem 0x50-Bytes großen Block, bestehend aus dem 16-Byte großen, hardcodierten Initialisierungsvektor und vier hardcodierten 16-Byte AES-128 Schlüsseln. In OSv12 (000500101000400A) befinden sich die Schlüssel bei $.rodata+0x4c der nn_idbe.rpl.

Schlüssel

Name Schlüssel[1]
IV a46987ae47d82bb4fa8abc0450285fa4
key0 4ab9a40e146975a84bb1b4f3ecefc47b
key1 90a0bb1e0e864ae87d13a6a03d28c9b8
key2 ffbb57c14e98ec6975b384fcf40786b5
key3 80923799b41f36a6a75fb8b48c95f66f

Daten

Header

Offset Größe Beschreibung
0x0 0x1 ? (normalerweise Null)
0x1 0x1 Key-Index
0x2 0x36D0 Verschlüsselte Daten

Verschlüsselte Daten

Offset Größe Beschreibung
0x0 0x20 SHA256-Hash der entschlüsselten Daten (also ohne Header) ohne Hash
0x20 0x10 ?
0x30 0x4 Region-Lockout (u32 Little Endian)
0x34 0x1C ?
0x50 + i * 0x200 0x200 Titel, wobei "i" = Sprachindex
0x2050 0x480 24x24 Icon
0x24D0 0x1200 48x48 Icon

Die Icons liegen im TrueVision TGA Format vor.

Einzelnachweise