Dieser Artikel betrifft die Nintendo Wii

Regionsauswahl (Kanal): Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Kanal
{{Infobox Wii-Kanal
|Titel = rgnsel
  |Titel = rgnsel
|Bild = [[Datei:Regionswahl_Wii.png|350px]]
  |Bild = Regionswahl_Wii.png
|Version = 2
  |Bildbreite = 350px
|Publisher = Nintendo
  |Publisher = Nintendo
|Typ = Versteckter Kanal
  |Typ = Versteckt
|TitleID = HALx
  |TitleID = HALx
|Blöcke = 16
  |Version = 2
|IOS = [[IOS31|31]]
  |Blöcke = 16 Blöcke
}}'''rgnsel''' bzw. '''Region Select''' (dt.: '''Regionsauswahl''') ist ein versteckter Kanal, der auf der [[Nintendo Wii]] und dem [[vWii|Wii-Modus der Wii U]] vorinstalliert ist. Er kann nur von Spielen aus gestartet werden und ermöglicht es, die Region auszuwählen, damit für Online-Spiele der richtige Ort angezeigt wird. Der Kanal lädt die Liste der Regionen von Nintendos Server herunter, daher ist eine Internetverbindung unerlässlich. Der [[Wetterkanal]] benutzt eine eigene Liste, unabhängig dieses Kanals. Wird das Land in den Wii-Einstellungen geändert, wird auch die Region zurückgesetzt. Nach dem Einstellen kehrt der Kanal in das [[Wii-Menü]] zurück, unabhängig davon, welches Spiel vorher gestartet wurde. Um den Kanal ohne ein Spiel zu starten, kann der [https://wiidatabase.de/downloads/wii-tools/rgnsel-booter/ rgnsel booter] des [[WiiDatabase Team|WiiDatabase Teams]] verwendet werden.
  |IOS = [[IOS31]]
}}
'''rgnsel''' bzw. '''Region Select''' (dt.: '''Regionsauswahl''') ist ein versteckter Kanal, der auf der [[Nintendo Wii]] und dem [[vWii|Wii-Modus der Wii U]] vorinstalliert ist. Er kann nur von Spielen aus gestartet werden und ermöglicht es, die Region auszuwählen, damit für Online-Spiele der richtige Ort angezeigt wird. Der Kanal lädt die Liste der Regionen von Nintendos Server herunter, daher ist eine Internetverbindung unerlässlich. Der [[Wetterkanal]] benutzt eine eigene Liste, unabhängig dieses Kanals. Wird das Land in den Wii-Einstellungen geändert, wird auch die Region zurückgesetzt. Nach dem Einstellen kehrt der Kanal in das [[Wii-Menü]] zurück, unabhängig davon, welches Spiel vorher gestartet wurde. Um den Kanal ohne ein Spiel zu starten, kann der [https://wiidatabase.de/downloads/wii-tools/rgnsel-booter/ rgnsel booter] des [[WiiDatabase Team|WiiDatabase Teams]] verwendet werden.


== Funktionsweise ==
== Funktionsweise ==
''Der folgende Abschnitt basiert auf Forschungen von Larsenv von [[RiiConnect24]].''
{{ambox|nocat=true|small=left|text=Der folgende Abschnitt basiert auf Forschungen von Larsenv von [[RiiConnect24]].}}


Der Kanal lädt .alas Dateien von Nintendos cfh-Server herunter, der auch für die [[EULA (Kanal)|EULA]] und für Ankündigungen über die [[Wii-Pinnwand]] genutzt wird. Die volle URL lautet:
Der Kanal lädt .alas Dateien von Nintendos cfh-Server herunter, der auch für die [[EULA (Kanal)|EULA]] und für Ankündigungen über die [[Wii-Pinnwand]] genutzt wird. Die volle URL lautet:
Zeile 17: Zeile 19:
also
also
{{Pre|http://cfh.wapp.wii.com/address/078.alas}}
{{Pre|http://cfh.wapp.wii.com/address/078.alas}}
für alle deutschen Bundesländer. Diese Dateien sind mit AES-256-CBC verschlüsselt; werden diese entschlüsselt, erhält man ein LZ77-komprimiertes U8-Archiv, welches HTML-Dateien und verschiedene Assets beinhaltet. Ein solches Archiv kann [[Medium:078.d.7z|hier heruntergeladen]] (14,5 KB) werden. Enthalten ist auch eine JavaScript-Datei, in denen die einzelnen Regionen in jeder Sprache übersetzt wurden.
für alle deutschen Bundesländer. Diese Dateien sind mit AES-256-CBC verschlüsselt; werden diese [[#Entschlüsselung|entschlüsselt]], erhält man ein LZ77-komprimiertes U8-Archiv, welches HTML-Dateien und verschiedene Assets beinhaltet. Ein solches Archiv kann [[Medium:078.d.7z|hier heruntergeladen]] (14,5 KB) werden. Enthalten ist auch eine JavaScript-Datei, in denen die einzelnen Regionen in jeder Sprache übersetzt wurden.


<spoiler text="regionData.js für Deutschland"><pre>var RegionInfo = new Array(
<spoiler text="regionData.js für Deutschland"><syntaxhighlight lang="javascript">var RegionInfo = new Array(
     new Array(1, 0, 0, new Array("ドイツ","Germany","Deutschland","Allemagne","Alemania","Germania","Duitsland")),
     new Array(1, 0, 0, new Array("ドイツ","Germany","Deutschland","Allemagne","Alemania","Germania","Duitsland")),
     new Array(2, 52.52116667, 13.40366667, new Array("ベルリン","Berlin","Berlin","Berlin","Berlín","Berlino","Berlijn")),
     new Array(2, 52.52116667, 13.40366667, new Array("ベルリン","Berlin","Berlin","Berlin","Berlín","Berlino","Berlijn")),
Zeile 37: Zeile 39:
     new Array(16, 54.32133333, 10.12283333, new Array("シュレスビヒ・ホルシュタイン州","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Sleeswijk-Holstein")),
     new Array(16, 54.32133333, 10.12283333, new Array("シュレスビヒ・ホルシュタイン州","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Sleeswijk-Holstein")),
     new Array(17, 50.97283333, 11.02416667, new Array("テューリンゲン州","Thuringia","Thüringen","Thuringe","Turingia","Turingia","Thüringen"))
     new Array(17, 50.97283333, 11.02416667, new Array("テューリンゲン州","Thuringia","Thüringen","Thuringe","Turingia","Turingia","Thüringen"))
);</pre>
);</syntaxhighlight>
</spoiler>
</spoiler>
Die Werte bedeuten folgendes (Beispiele):
Die Werte bedeuten folgendes (Beispiele):


Zeile 52: Zeile 53:


Die JavaScript-Datei wird dann über ein <script>-Tag in der HTML-Datei geladen. Sinnvoller wäre es allerdings für Nintendo gewesen, lediglich die JS-Dateien auf den Server hochzuladen und die HTML-Dateien in den Kanal einzubinden. Über einen iFrame wird das ganze schließlich in der index.html eingeblendet.
Die JavaScript-Datei wird dann über ein <script>-Tag in der HTML-Datei geladen. Sinnvoller wäre es allerdings für Nintendo gewesen, lediglich die JS-Dateien auf den Server hochzuladen und die HTML-Dateien in den Kanal einzubinden. Über einen iFrame wird das ganze schließlich in der index.html eingeblendet.
=== Entschlüsselung ===
# Ersten 320 Bytes von ALAS entfernen (RSA-Signatur)
# Entschlüsseln mit AES-256-CBC und folgenden Keys:
#* '''Schlüssel:''' <code>FF4C1AE3D4FFD236712E258A1F0B91E72C9125B0DF94C1691BCEF13011F16C0F</code>
#* '''[[wikipedia:de:Initialisierungsvektor|Initialisierungsvektor]]:''' <code>862D7D8676A630A82972AB9735E1A5CE</code>
# Von der entschlüsselten Dateien die ersten 32 Bytes entfernen - fertig ist ein LZ77-komprimiertes U8-Archiv
# Mit bspw. [https://wiidatabase.de/downloads/pc-tools/dsdecmp/ DSDecmp] die Datei dekomprimieren
# Anschließend das U8-Archiv mit bspw. [https://wiidatabase.de/downloads/pc-tools/u8tool/ U8Tool] oder [https://wiidatabase.de/downloads/pc-tools/showmiiwads/ ShowMiiWads] entpacken
Einfacher macht es das [https://github.com/WiiDatabase/ALAS-Decryptor ALAS Decryptor Skript] vom [[WiiDatabase Team]].


{{Navbox Wii-Kanäle}}
{{Navbox Wii-Kanäle}}
{{WiiTopicon}}
{{Top Icon Wii}}

Version vom 27. März 2018, 13:35 Uhr

rgnsel
Regionsauswahl (Kanal)
Allgemein
Publisher Nintendo
Typ Versteckt
Title-ID HALx
Version 2
Blöcke 16 Blöcke
Benötigtes IOS IOS31

rgnsel bzw. Region Select (dt.: Regionsauswahl) ist ein versteckter Kanal, der auf der Nintendo Wii und dem Wii-Modus der Wii U vorinstalliert ist. Er kann nur von Spielen aus gestartet werden und ermöglicht es, die Region auszuwählen, damit für Online-Spiele der richtige Ort angezeigt wird. Der Kanal lädt die Liste der Regionen von Nintendos Server herunter, daher ist eine Internetverbindung unerlässlich. Der Wetterkanal benutzt eine eigene Liste, unabhängig dieses Kanals. Wird das Land in den Wii-Einstellungen geändert, wird auch die Region zurückgesetzt. Nach dem Einstellen kehrt der Kanal in das Wii-Menü zurück, unabhängig davon, welches Spiel vorher gestartet wurde. Um den Kanal ohne ein Spiel zu starten, kann der rgnsel booter des WiiDatabase Teams verwendet werden.

Funktionsweise

Der Kanal lädt .alas Dateien von Nintendos cfh-Server herunter, der auch für die EULA und für Ankündigungen über die Wii-Pinnwand genutzt wird. Die volle URL lautet:

http://cfh.wapp.wii.com/address/LÄNDERCODE.alas

also

http://cfh.wapp.wii.com/address/078.alas

für alle deutschen Bundesländer. Diese Dateien sind mit AES-256-CBC verschlüsselt; werden diese entschlüsselt, erhält man ein LZ77-komprimiertes U8-Archiv, welches HTML-Dateien und verschiedene Assets beinhaltet. Ein solches Archiv kann hier heruntergeladen (14,5 KB) werden. Enthalten ist auch eine JavaScript-Datei, in denen die einzelnen Regionen in jeder Sprache übersetzt wurden.

<spoiler text="regionData.js für Deutschland">

var RegionInfo = new Array(
    new Array(1, 0, 0, new Array("ドイツ","Germany","Deutschland","Allemagne","Alemania","Germania","Duitsland")),
    new Array(2, 52.52116667, 13.40366667, new Array("ベルリン","Berlin","Berlin","Berlin","Berlín","Berlino","Berlijn")),
    new Array(3, 50.0755, 8.2385, new Array("ヘッセン州","Hesse","Hessen","Hesse","Hesse","Assia","Hessen")),
    new Array(4, 48.77316667, 9.174833333, new Array("バーデン・ビュルテンベルク州","Baden-Württemberg","Baden-Württemberg","Bade-Wurtemberg","Baden-Wurtemberg","Baden-Württemberg","Baden-Württemberg")),
    new Array(5, 48.13333333, 11.556, new Array("バイエルン州","Bavaria","Bayern","Bavière","Baviera","Baviera","Beieren")),
    new Array(6, 52.39283333, 13.03966667, new Array("ブランデンブルク州","Brandenburg","Brandenburg","Brandebourg","Brandeburgo","Brandeburgo","Brandenburg")),
    new Array(7, 53.06666667, 8.806666667, new Array("ブレーメン","Bremen","Bremen","Brême","Bremen","Brema","Bremen")),
    new Array(8, 53.55, 9.99, new Array("ハンブルク","Hamburg","Hamburg","Hambourg","Hamburgo","Amburgo","Hamburg")),
    new Array(9, 53.61666667, 11.41666667, new Array("メクレンブルク・フォアポンメルン州","Mecklenburg-Western Pomerania","Mecklenburg-Vorpommern","Mecklembourg-Poméranie occidentale","Mecklemburgo-Pomerania Occidental","Meclemburgo-Pomerania Occidentale","Mecklenburg-Voor-Pommeren")),
    new Array(10, 52.36666667, 9.734833333, new Array("ニーダーザクセン州","Lower Saxony","Niedersachsen","Basse-Saxe","Baja Sajonia","Bassa Sassonia","Nedersaksen")),
    new Array(11, 51.24033333, 6.774166667, new Array("ノルトライン・ウェストファーレン州","North Rhine-Westphalia","Nordrhein-Westfalen","Rhénanie-du-Nord-Westphalie","Renania del Norte-Westfalia","Nord Reno-Westfalia","Noord-Rijnland-Westfalen")),
    new Array(12, 50, 8.259833333, new Array("ラインラント・ファルツ州","Rhineland-Palatinate","Rheinland-Pfalz","Rhénanie-Palatinat","Renania-Palatinado","Renania-Palatinato","Rijnland-Palts")),
    new Array(13, 49.23333333, 7, new Array("ザールラント州","Saarland","Saarland","Sarre","Sarre","Saarland","Saarland")),
    new Array(14, 51.03333333, 13.73333333, new Array("ザクセン州","Saxony","Sachsen","Saxe","Sajonia","Sassonia","Saksen")),
    new Array(15, 52.125, 11.61666667, new Array("ザクセン・アンハルト州","Saxony-Anhalt","Sachsen-Anhalt","Saxe-Anhalt","Sajonia-Anhalt","Sassonia-Anhalt","Saksen-Anhalt")),
    new Array(16, 54.32133333, 10.12283333, new Array("シュレスビヒ・ホルシュタイン州","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Schleswig-Holstein","Sleeswijk-Holstein")),
    new Array(17, 50.97283333, 11.02416667, new Array("テューリンゲン州","Thuringia","Thüringen","Thuringe","Turingia","Turingia","Thüringen"))
);

</spoiler> Die Werte bedeuten folgendes (Beispiele):

Reihenfolge Breitengrad Längengrad Japanisch Englisch Deutsch Französisch Spanisch Italienisch Niederländisch
2 52.52116667 13.40366667 ベルリン Berlin Berlin Berlin Berlín Berlino Berlijn
5 48.13333333 11.556 バイエルン州 Bavaria Bayern Bavière Baviera Baviera Beieren

Die JavaScript-Datei wird dann über ein <script>-Tag in der HTML-Datei geladen. Sinnvoller wäre es allerdings für Nintendo gewesen, lediglich die JS-Dateien auf den Server hochzuladen und die HTML-Dateien in den Kanal einzubinden. Über einen iFrame wird das ganze schließlich in der index.html eingeblendet.

Entschlüsselung

  1. Ersten 320 Bytes von ALAS entfernen (RSA-Signatur)
  2. Entschlüsseln mit AES-256-CBC und folgenden Keys:
    • Schlüssel: FF4C1AE3D4FFD236712E258A1F0B91E72C9125B0DF94C1691BCEF13011F16C0F
    • Initialisierungsvektor: 862D7D8676A630A82972AB9735E1A5CE
  3. Von der entschlüsselten Dateien die ersten 32 Bytes entfernen - fertig ist ein LZ77-komprimiertes U8-Archiv
  4. Mit bspw. DSDecmp die Datei dekomprimieren
  5. Anschließend das U8-Archiv mit bspw. U8Tool oder ShowMiiWads entpacken

Einfacher macht es das ALAS Decryptor Skript vom WiiDatabase Team.