用於在變換端客戶端中獲得硬編碼秘密的實用程序。
要構建,您應該使用asconfig.json文件來編譯TFMSecretsLeaker.swf文件。這可以使用VSCODE-AS3MXML或ASCONFIGC完成。
您還需要將以下庫中的SWC文件放在lib文件夾下方的級別與asconfig.json文件相同的級別:
如果您想節省自己的麻煩,那麼此存儲庫的發行版中也有一個預先建造的SWF。
運行已構建的SWF文件時,它將trace所獲得的秘密。這些可以在諸如FFDEC之類的東西中查看,儘管還提供了有用的leak-secrets.py - 腳本。
./leak-secrets.py <path/to/TFMSecretsLeaker.swf>
運行SWF時,窗口會彈出一小段時間,似乎開始加載遊戲,然後退出。這是正常的。
不幸的是,這當前與荷葉邊不兼容,因為它當前尚未實現fscommand("quit") 。
Translice的網絡協議利用了客戶端中包含的幾個硬編碼,經常改變的秘密。每五分鐘左右,就會為遊戲提供另一個主SWF,更改大多數這些硬編碼的秘密。因此,必須有一個動態的實用程序來自動獲取這些秘密,因為它們的變化頻率太大而無法手動獲得。
這些秘密包括:
1.740之類的文本。該報告的遊戲版本是其中的740組件,並且在客戶端發送到服務器的握手數據包中發送。這不像其他秘密那樣頻繁。客戶端和服務器完成了握手序列後不久,服務器將向客戶端發送數據包,以確保客戶端是正式的,否則適當的(即不是bot)。該數據包包含一個“驗證令牌”(整數),然後客戶將其在其響應中使用。客戶將使用XXTEA算法的密碼數據包進行響應,其中驗證令牌轉換為字符串作為鍵的名稱。 (明文)數據包數據將從驗證令牌開始,然後從某些半隨機,硬編碼字段開始,並在其中再次投入驗證令牌。這似乎並不像其他秘密那樣頻繁,但確實改變了。
該報告是一個指示該數據包的明文主體字符串字符串的十六進製字符串(在Python中,您可以使用bytes.fromhex )。代替驗證令牌應進行的位置,使用了aabbccdd ,應替換為實際的包裝驗證令牌。
其他Antelier 801遊戲具有非常相似的結構可轉換,因此該實用程序也能夠支持以下游戲:
Translice和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參數,則該實用程序將默認為洩漏Translice的秘密。