Ein Versorgungsunternehmen zum Erhalten der hartcodierten Geheimnisse innerhalb des Transformice -Clients.
Um zu erstellen, sollten Sie die Datei Asconfig.json verwenden, um die Datei TFMSecretsLeaker.swf zu kompilieren. Dies kann mit VSCODE-AS3MXML oder ASCONFIGC erfolgen.
Sie müssen auch die SWC -Dateien für die folgenden Bibliotheken unter einem lib -Ordner auf derselben Ebene wie die Datei asconfig.json platzieren:
Wenn Sie sich den Ärger retten möchten, gibt es auch einen vorgefertigten SWF in den Veröffentlichungen dieses Repo.
Wenn Sie die erstellte SWF -Datei ausführen, wird die erhaltenen Geheimnisse trace . Diese können in so etwas wie FFDEC angesehen werden, obwohl auch ein hilfreiches leak-secrets.py -Skript bereitgestellt wird, um die Ausgabe mit dem eigenständigen Debug-Projektor zu erhalten, der wie SO verwendet wird:
./leak-secrets.py <path/to/TFMSecretsLeaker.swf>
Beim Ausführen des SWF wird ein Fenster für einen kurzen Moment auftauchen, das Spiel zu laden und dann zu beenden. Das ist normal.
Leider ist dies derzeit nicht mit Ruffle kompatibel, da es derzeit nicht fscommand("quit") implementiert wird.
Das Networking-Protokoll von Transformice verwendet mehrere hartcodierte, sich häufig verändernde Geheimnisse, die im Client enthalten sind. Alle fünf Minuten oder so wird ein anderer Haupt -SWF für das Spiel serviert, wodurch die meisten dieser hartcodierten Geheimnisse verändert werden. Daher ist es erforderlich, ein dynamisches Dienstprogramm zu haben, um diese Geheimnisse automatisch zu erhalten, da sie sich viel zu oft ändern, um nur manuell zu erhalten.
Diese Geheimnisse umfassen:
1.740 zeigt. Die Spielversion, die diese Berichte berichten, ist die 740 -Komponente davon und wird in das Handshake -Paket gesendet, das der Client an den Server sendet. Dies ändert sich nicht so oft wie die anderen Geheimnisse.Kurz nachdem die Handshake -Sequenz vom Client und Server abgeschlossen wurde, sendet der Server ein Paket an den Client, um sicherzustellen, dass der Client offiziell und ansonsten ordnungsgemäß ist (dh kein Bot). Dieses Paket enthält ein "Überprüfungs -Token" (eine Ganzzahl), die der Client dann in seiner Antwort verwendet. Der Client antwortet mit einem Ciphered -Paket mit dem Xxtea -Algorithmus mit dem Bestätigungs -Token, der in eine Zeichenfolge als Name für den Schlüssel konvertiert wurde. Die (Klartext-) Paketdaten beginnen mit dem Verifizierungs-Token und dann mit den harte, hartcodierten Feldern, wobei der Verifizierungs-Token in der Mitte wieder eingeworfen wird. Dies scheint sich nicht so oft zu ändern wie die anderen Geheimnisse, aber es ändert sich.
Was diese Berichte berichtet, ist eine Hex -Zeichenfolge, die eine Reihe von Bytes des Klartextkörpers dieses Pakets darstellt (in Python, etwas, das Sie Bytes verwenden könnten bytes.fromhex an). Anstelle dessen, wo der Verifizierungstoken gehen soll, wird aabbccdd verwendet und sollte durch den tatsächlichen gepackten Verifizierungs -Token ersetzt werden.
Andere Atelier 801 -Spiele haben sehr ähnliche Strukturen wie Transformice, und so kann dieses Dienstprogramm auch die folgenden Spiele unterstützen:
Transformice und Dead Labyrinth sind die einzigen Spiele mit Kundenüberprüfungsvorlagen. Für die anderen wird keine Client -Überprüfungsvorlage verfolgt.
Um die Geheimnisse für ein bestimmtes Spiel zu erhalten, sollte der Name dem game geliefert werden. Hier ist beispielsweise, wie Sie dies mit dem Skript leak-secrets.py tun würden:
./leak-secrets.py path/to/TFMSecretsLeaker.swf?game=transformice
./leak-secrets.py path/to/TFMSecretsLeaker.swf?game=deadmaze
./leak-secrets.py path/to/TFMSecretsLeaker.swf?game=bouboum
./leak-secrets.py path/to/TFMSecretsLeaker.swf?game=nekodancer
./leak-secrets.py path/to/TFMSecretsLeaker.swf?game=fortoresse
Wenn kein game geliefert wird, wird das Dienstprogramm standardmäßig auf die Geheimnisse von Transformices auskommen.