Danke für den. Hinweis profi200
Eine sehr informative Stellungnahme.
Wer das auch einmal auf deutsch lese möchte, habe ich seine Tweets kurzerhand von DeepL übersetzen lassen. Lohnt sich reinzulesen.
"Ich sehe große Verwirrung rund um die Flashcart-Sache, was verständlich ist, wenn man bedenkt, wie vage sie (wahrscheinlich absichtlich) darüber sind, was sie kann und was nicht. Ich werde versuchen, hier einige bekannte Fakten über das Gamecard-Ökosystem im Allgemeinen zu behandeln, die möglicherweise einige Antworten liefern.
Erstens ist es nicht möglich, ein legitimes Gamecard-Image (XCI) in irgendeiner Weise zu ändern.
XCIs verwenden ein Hash-basiertes Dateisystem, bei dem der Inhalt jeder einzelnen Datei gehasht wird und ein Hash aller ihrer Hashes im Header der Partition gespeichert wird.
Daher erfordert eine Änderung am Inhalt eines Bildes die Neuberechnung der relevanten Hashes, was recht einfach klingt, mit der Ausnahme, dass ein Hash des Headers der Partition (der einen Hash aller Hashes aller Dateien enthält) in der CardHeader-Region (den ersten 0x200 Bytes) enthalten ist.
Diese Region ist signiert (RSA-2048) und ihre Signatur wird vom Lotus ASIC überprüft. Sofern Sie nicht über den erforderlichen privaten Schlüssel verfügen, um diesen CardHeader-Bereich erneut zu signieren, ist das Spiel vorbei.
Es versteht sich wahrscheinlich von selbst, dass alle privaten RSA-Schlüssel auf Produktionsebene nur Nintendo bekannt sind. Sie können sie nicht „berechnen“, sie wurden in keiner Weise durchgesickert und wenn der Flashcart tatsächlich den Schlüssel hätte, würde er den InitialData-Bereich überhaupt nicht benötigen.
Also, ja, das bedeutet, dass Unterstützung für DLC-Inhalte und -Updates (es sei denn, der Warenkorb enthält diese rechtmäßig) oder Homebrew einfach nicht möglich ist.
Das andere große Thema scheint die Erkennung zu sein. Erwartungsgemäß haben die Rezensenten bereits herausgefunden, dass Sie dasselbe Zertifikat für jedes XCI-Bild verwenden können, was eindeutig das Hauptverkaufsargument dieses Flashcarts ist, obwohl seine Ersteller darauf geachtet haben, es nicht direkt zu erwähnen, um Gegenreaktionen zu vermeiden.
Beachten Sie, dass alle Kopien eines einzelnen Spiels dieselben CardHeader- und InitialData-Regionen verwenden, verschiedene Kopien desselben Spiels jedoch unterschiedliche CertArea-Regionen haben und so wie es aussieht, nichts zu überprüfen scheint, ob ein Zertifikat zu dem Spiel gehört, für das es ausgestellt wurde.
Online verfügt Nintendo über die Infrastruktur, um zu erkennen, ob ein bestimmtes Zertifikat mehr als einmal gleichzeitig verwendet wird. Sie können ab Firmware 9.0.0 auch erkennen, ob ein Zertifikat zu einer physischen Gamecard gehört (hinzugefügt als Reaktion auf die SX-Emulation des Lotus ASIC).
Bei der Verwendung eines Zertifikats, das nicht mit dem Spiel übereinstimmt, für das es ausgestellt wurde, stellen die Netzwerkanforderungen zur Authentifizierung des Zertifikats der Gamecard sicher, dass die ID der gespielten Anwendung angegeben wird, damit diese für Nintendo leicht sichtbar ist.
Es gibt auch noch ein paar weitere Details, die meiner Meinung nach noch nicht besprochen wurden. Beispielsweise verfolgt das Betriebssystem, wie oft Sie eine Gamecard einlegen und entfernen, was eindeutig ein Problem darstellt, da die Flashcart Sie zum Durchlaufen von Spielen zum Einlegen und Entfernen zwingt.
Mit CFW haben Sie eine gewisse Kontrolle über Telemetriedaten, mit OFW jedoch nicht. Selbst wenn Sie die Domänen für die Fehlerberichterstattung blockieren (die am ausführlichsten sind), können Sie einfach nichts gegen Systemberichte („srepo“) unternehmen, die Gamecard-Informationen enthalten.
Dies führt zum letzten Punkt, der sich darauf bezieht, welche Art von Erkennung und Prävention *offline* existiert, was auch der Grund ist, warum die Ersteller des Flashcarts so vorsichtig mit ihrer Formulierung sind
Beispielsweise werden derzeit nur 16 von 208 Bytes aus dem verschlüsselten Bereich eines Gamecard-Zertifikats verwendet (zur Ableitung des Kommunikationsschlüssels). Niemand weiß wirklich, ob die verbleibenden Bytes irgendeinen Zusammenhang mit den Regionen InitialData oder CardHeader haben.
Wenn sich herausstellt, dass tatsächlich ein Zusammenhang besteht, ist das aktuelle Szenario der Verwendung desselben Zertifikats für verschiedene XCI-Images offline patchbar. Es gibt zahlreiche andere Möglichkeiten, dies entweder auf Betriebssystem- oder Lotus-Ebene zu erkennen und zu blockieren.
Ironischerweise kann der Flashcart möglicherweise nicht gepatcht oder erkannt werden, wenn Sie ihn nur zum Speichern von Kopien legitimer Spiele verwenden (mit dem Spiel übereinstimmendes Zertifikat usw.) und diese nicht durchgehen.
Oh, und ein weiteres Thema, das ich beobachtet habe, ist, wie sich dies auf die Abwärtskompatibilität einer zukünftigen Konsole auswirken könnte. Wie ich bereits erwähnt habe, gab es im Standby immer ein zweites Sicherheitssystem, gerade weil Nintendo sich der Schwächen des ersten bewusst war.
Das bedeutet, dass *zukünftige* Gamecards sicher wären, das Hardware-Verschlüsselungsschema der aktuellen jedoch immer kaputt sein wird. Ich persönlich denke, dass die Abwärtskompatibilität auch auf Gamecard-Ebene gewährleistet sein wird (dh zukünftige Hardware kann Switch-Gamecards lesen).
Es gibt einige aktuelle Änderungen im Gamecard/Lotus-Ökosystem, die darauf hindeuten, dass die gleiche Hardware in einer neuen Konsole verwendet werden sollte, und es scheint unwahrscheinlich, dass sich das ändern wird (insbesondere angesichts der Existenz eines zweiten Sicherheitssystems).
Es ist jedoch durchaus möglich, dass zukünftige Hardware Sie nun dazu zwingen würde, ältere Gamecards online zu verifizieren, um beispielsweise deren Legitimität sicherzustellen.