TMD: Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
1.261 Bytes hinzugefügt ,  16. April 2019
K
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
In den '''Title-Metadaten''' (Title Metadata) werden Informationen über einen Titel (Spiele, [[:Kategorie:Wii-Kanal|Kanäle]], [[IOS]], Systemsoftware, etc.) und alle installierten Inhalte gespeichert. Sie dient vereinfacht gesagt auch als eine Art Inhaltsverzeichnis, denn sie zeigt alle zugehörigen Inhalte inklusive ihrer Position, Größe und SHA1-Hash an.
In den '''Title-Metadaten''' (Title Metadata) werden Informationen über einen Titel (Spiele, [[:Kategorie:Wii-Kanal|Kanäle]], [[IOS]], Systemsoftware, etc.) und alle installierten Inhalte gespeichert. Sie dient vereinfacht gesagt auch als eine Art Inhaltsverzeichnis, denn sie zeigt alle zugehörigen Inhalte inklusive ihrer Position, Größe und SHA1-Hash an. Sie können vom [[Nintendo-Update-Server]] heruntergeladen werden (bspw. http://nus.cdn.shop.wii.com/ccs/download/000000010000003A/tmd für die TMD des [[IOS58]]).


== Struktur ==
== Struktur ==
Zeile 15: Zeile 15:
| 0x004
| 0x004
| 256
| 256
| Signatur
| [[#Signatur|Signatur]]
|-
|-
| 0x104
| 0x104
Zeile 43: Zeile 43:
| 0x184
| 0x184
| 8
| 8
| Benötigtes [[IOS]]
| Benötigter Titel (bspw. benötigtes [[IOS]])
|-
|-
| 0x18C
| 0x18C
Zeile 85: Zeile 85:
| [[#Inhalt|Inhalte]]
| [[#Inhalt|Inhalte]]
|}
|}
=== Signatur ===
{{Hauptartikel|Zertifikatskette}}
Die Signatur beinhaltet den SHA1-Hash der TMD (vom Aussteller bis zum Ende der Inhalte), welcher mit dem Private-Key verschlüsselt ist. Um diesen zu entschlüsseln, muss der Public-Key aus dem CP-Zertifikat (welches üblicherweise das erste angehängte Zertifikat ist) [[w:RSA-Kryptosystem#Erzeugung_des_öffentlichen_und_privaten_Schlüssels|gebildet]] und die Signatur entschlüsselt werden (nur die Daten, ohne Signatur-Typ und Padding). Stimmt der gebildete SHA1-Hash der TMD mit dem entschlüsselten Hash aus der Signatur überein, ist die TMD valide und von Nintendo signiert.
Wenn der SHA1-Hash nicht übereinstimmt und der gebildete SHA1-Hash der TMD mit <code>00</code> beginnt, ist diese [[Fakesigning|fakesigned]].
Das CP-Zertifikat ist von dem CA-Zertifikat signiert, welches wiederum mit dem Wii Root-Zertifikat signiert ist.


=== Inhalt ===
=== Inhalt ===
Zeile 147: Zeile 155:


== Anwendungsbeispiel ==
== Anwendungsbeispiel ==
''Siehe auch: [https://github.com/WiiDatabase/PyNUSD/blob/master/WADGEN.py WADGEN]''
Dieses Code-Beispiel in Python 3 parst eine TMD.
Dieses Code-Beispiel in Python 3 parst eine TMD.
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
Zeile 194: Zeile 204:
...</pre>
...</pre>
wobei 24 im Hexadezimalsystem = 18, durch <code>"%08X" % 24</code> werden Nullen vorangestellt (das X bedeutet Hexadezimal, vgl. [https://stackoverflow.com/a/15108984/3146627 StackOverflow]).
wobei 24 im Hexadezimalsystem = 18, durch <code>"%08X" % 24</code> werden Nullen vorangestellt (das X bedeutet Hexadezimal, vgl. [https://stackoverflow.com/a/15108984/3146627 StackOverflow]).
{{WiiTopicon}}
{{Top Icon Wii}}
{{WiiUTopicon}}
{{Top Icon DSi}}
 
[[Kategorie:Nintendo DSi]]
[[Kategorie:Nintendo Wii]]
[[Kategorie:vWii]]

Navigationsmenü