IDBE: Unterschied zwischen den Versionen
ICON (Diskussion | Beiträge) |
ICON (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 22: | Zeile 22: | ||
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). | 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. 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 | 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" | {| class="wikitable" | ||
|- | |- | ||
! Name | ! Name | ||
! Schlüssel | ! Schlüssel<ref>https://github.com/Repo3DS/shop-cache/blob/master/TitleInfo.py#L232-L233</ref> | ||
|- | |- | ||
| IV | | IV | ||
Zeile 113: | Zeile 113: | ||
{{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:
- https://idbe-ctr.cdn.nintendo.net/icondata/40/00040000001B5000.idbe = Pokémon Ultrasonne
- https://idbe-ctr.cdn.nintendo.net/icondata/16/0004000000053F00.idbe = Super Mario 3D Land
- 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/0005000010145D00.idbe = Super Mario 3D World
- https://idbe-wup.cdn.nintendo.net/icondata/16/0005000E101C9500-97.idbe = The Legend of Zelda: Breath of the Wild Update (v97)
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