Utilitas untuk mendapatkan rahasia hardcoded di dalam klien Transformice.
Untuk membangun, Anda harus menggunakan file asconfig.json untuk mengkompilasi file TFMSecretsLeaker.swf . Ini dapat dilakukan dengan vScode-as3mxml atau asconfigc.
Anda juga perlu menempatkan file SWC untuk pustaka berikut di bawah folder lib pada tingkat yang sama dengan file asconfig.json :
Jika Anda ingin menyelamatkan diri sendiri, maka ada juga SWF yang sudah dibangun dalam rilis repo ini.
Saat menjalankan file SWF yang dibangun, itu akan trace rahasia yang diperoleh. Ini dapat dilihat dalam sesuatu seperti FFDEC, meskipun skrip leak-secrets.py yang bermanfaat juga disediakan untuk mendapatkan output menggunakan proyektor debug mandiri, digunakan seperti:
./leak-secrets.py <path/to/TFMSecretsLeaker.swf>
Saat menjalankan SWF, sebuah jendela akan muncul sebentar, tampaknya mulai memuat permainan, dan kemudian keluar. Ini normal.
Sayangnya ini saat ini tidak kompatibel dengan Ruffle karena saat ini tidak mengimplementasikan fscommand("quit") .
Protokol jaringan Transformice menggunakan beberapa rahasia hardcoded, sering berubah yang terkandung dalam klien. Setiap lima menit atau lebih, SWF utama yang berbeda dilayani untuk permainan, mengubah sebagian besar rahasia hardcoded ini. Oleh karena itu diperlukan untuk memiliki utilitas dinamis untuk mendapatkan rahasia ini secara otomatis, karena mereka berubah terlalu sering untuk hanya memperoleh secara manual.
Rahasia ini termasuk:
1.740 . Versi game yang dilaporkan ini adalah komponen 740 dari itu, dan dikirim dalam paket jabat tangan yang dikirim klien ke server. Ini tidak berubah sesering rahasia lainnya.Tak lama setelah urutan jabat tangan selesai oleh klien dan server, server akan mengirim paket ke klien untuk memastikan bahwa klien resmi dan tepat (yaitu bukan bot). Paket ini berisi "token verifikasi" (integer) yang kemudian akan digunakan klien dalam tanggapannya. Klien akan merespons dengan paket ciphered menggunakan algoritma XXTEA dengan token verifikasi yang dikonversi ke string sebagai nama untuk kunci. Data paket (plaintext) akan dimulai dengan token verifikasi, dan kemudian beberapa bidang semi-acak, hardcoded, dengan token verifikasi dilemparkan lagi di tengah-tengahnya. Ini tampaknya tidak berubah sesering rahasia lainnya, tetapi itu tidak berubah.
Apa yang dilaporkan ini adalah string hex yang mewakili serangkaian byte dari badan plaintext dari paket ini (dalam python, sesuatu yang dapat Anda gunakan bytes.fromhex on). Di tempat ke mana token verifikasi harus pergi, aabbccdd digunakan, dan harus diganti dengan token verifikasi kemasan yang sebenarnya.
Game Atelier 801 lainnya memiliki struktur yang sangat mirip dengan Transformice, dan utilitas ini juga dapat mendukung game -game berikut:
Transformice dan Dead Maze adalah satu -satunya game yang memiliki template verifikasi klien. Dan untuk yang lain, tidak ada template verifikasi klien yang akan ditelusuri.
Untuk mendapatkan rahasia ke game tertentu, namanya harus dipasok ke parameter game Loader. Misalnya, inilah cara Anda melakukannya dengan menggunakan skrip leak-secrets.py :
./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
Jika tidak ada parameter game yang disediakan, maka utilitas akan default untuk membocorkan rahasia Transformice.