ยูทิลิตี้สำหรับการได้รับความลับที่เก็บไว้ภายในไคลเอนต์ Transformice
ในการสร้างคุณควรใช้ไฟล์ asconfig.json เพื่อรวบรวมไฟล์ TFMSecretsLeaker.swf สามารถทำได้ด้วย VSCODE-AS3MXML หรือ ASCONFIGC
คุณจะต้องวางไฟล์ SWC สำหรับไลบรารีต่อไปนี้ภายใต้โฟลเดอร์ lib ในระดับเดียวกับไฟล์ asconfig.json :
หากคุณต้องการช่วยตัวเองให้ยุ่งยากก็มี SWF ที่สร้างไว้ล่วงหน้าในการเผยแพร่ของ repo นี้
เมื่อเรียกใช้ไฟล์ SWF ที่สร้างขึ้นมันจะ trace ความลับที่ได้รับ สิ่งเหล่านี้สามารถดูได้ในบางสิ่งเช่น FFDEC แม้ว่าจะมีสคริปต์ leak-secrets.py ที่เป็นประโยชน์อีกด้วยเพื่อให้ได้ผลลัพธ์โดยใช้โปรเจ็กต์ดีบั๊กแบบสแตนด์อโลนซึ่งใช้เช่นนั้น:
./leak-secrets.py <path/to/TFMSecretsLeaker.swf>
เมื่อเรียกใช้ SWF หน้าต่างจะปรากฏขึ้นในช่วงเวลาสั้น ๆ ดูเหมือนว่าจะเริ่มโหลดเกมแล้วออก นี่เป็นเรื่องปกติ
น่าเสียดายที่นี่ไม่สามารถใช้งานได้กับ ruffle ในปัจจุบันเนื่องจากไม่ได้ใช้ fscommand("quit") ในปัจจุบัน
โปรโตคอลเครือข่ายของ Transformice ใช้ความลับที่มีการเปลี่ยนแปลงบ่อยครั้งซึ่งมีอยู่ภายในไคลเอนต์ ทุก ๆ ห้านาทีหรือมากกว่านั้น SWF หลักที่แตกต่างกันจะให้บริการสำหรับเกมเปลี่ยนความลับของฮาร์ดโค้ดเหล่านี้ส่วนใหญ่ ดังนั้นจึงจำเป็นต้องมียูทิลิตี้แบบไดนามิกเพื่อรับความลับเหล่านี้โดยอัตโนมัติเนื่องจากพวกเขาเปลี่ยนบ่อยเกินไปที่จะได้รับด้วยตนเอง
ความลับเหล่านี้รวมถึง:
1.740 เวอร์ชันเกมที่รายงานนี้เป็นองค์ประกอบ 740 ของสิ่งนั้นและถูกส่งในแพ็คเก็ต Handshake ที่ไคลเอนต์ส่งไปยังเซิร์ฟเวอร์ สิ่งนี้ไม่เปลี่ยนแปลงบ่อยเท่าที่ความลับอื่นทำไม่นานหลังจากที่ไคลเอ็นต์และเซิร์ฟเวอร์ Handshake เสร็จสมบูรณ์เซิร์ฟเวอร์จะส่งแพ็กเก็ตไปยังไคลเอนต์เพื่อให้แน่ใจว่าไคลเอนต์นั้นเป็นทางการและเหมาะสม (เช่นไม่ใช่บอท) แพ็คเก็ตนี้มี "โทเค็นการตรวจสอบ" (จำนวนเต็ม) ซึ่งลูกค้าจะใช้ในการตอบกลับ ไคลเอนต์จะตอบกลับด้วยแพ็กเก็ตที่มีเข้ารหัสโดยใช้อัลกอริทึม XXTEA พร้อมโทเค็นการตรวจสอบที่แปลงเป็นสตริงเป็นชื่อสำหรับคีย์ ข้อมูลแพ็คเก็ต (plaintext) จะเริ่มต้นด้วยโทเค็นการตรวจสอบและจากนั้นฟิลด์กึ่งสุ่มบางส่วนและมีการตรวจสอบโทเค็นการตรวจสอบอีกครั้งในท่ามกลางมัน สิ่งนี้ดูเหมือนจะไม่เปลี่ยนแปลงบ่อยเท่าความลับอื่น ๆ แต่มันเปลี่ยนไป
สิ่งที่รายงานนี้คือสตริง hex ที่แสดงถึงสตริงของไบต์ของตัวอักษรธรรมดาของแพ็คเก็ตนี้ (ใน Python สิ่งที่คุณสามารถใช้ bytes.fromhex บน) ในสถานที่ที่โทเค็นการตรวจสอบควรไปใช้ aabbccdd และควรถูกแทนที่ด้วยโทเค็นการตรวจสอบที่แท้จริง
เกม Atelier 801 อื่น ๆ มีโครงสร้างที่คล้ายกันมากในการแปลงสภาพและดังนั้นยูทิลิตี้นี้จึงสามารถรองรับเกมต่อไปนี้:
Transformice และ Dead Maze เป็นเกมเดียวที่มีเทมเพลตการตรวจสอบลูกค้า และสำหรับคนอื่น ๆ จะไม่มีการตรวจสอบเทมเพลตการตรวจสอบลูกค้า
เพื่อให้ได้ความลับในเกมเฉพาะชื่อของมันควรจะถูกส่งไปยังพารามิเตอร์ตัวโหลด game ตัวอย่างเช่นนี่คือวิธีที่คุณจะทำเช่นนั้นโดยใช้สคริปต์ 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
หากไม่มีการจัดหาพารามิเตอร์ game ยูทิลิตี้จะเริ่มต้นเป็นความลับของ Transformice ที่รั่วไหล