Dieser Artikel betrifft den Nintendo 3DS
Dieser Artikel betrifft die Nintendo Wii U

IDBE: Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 20: Zeile 20:


== 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 ===
=== Schlüssel ===
Zeile 28: Zeile 28:
|-
|-
! Name
! Name
! Schlüssel
! Schlüssel<ref>https://github.com/Repo3DS/shop-cache/blob/master/TitleInfo.py#L232-L233</ref>
|-
|-
| IV
| IV
Zeile 76: Zeile 76:
| 0x0
| 0x0
| 0x20
| 0x20
| SHA256-Hash
| SHA256-Hash der entschlüsselten Daten (also ohne Header) ohne Hash
|-
|-
| 0x20
| 0x20
Zeile 108: 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