用于在变换端客户端中获得硬编码秘密的实用程序。
要构建,您应该使用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的秘密。