欢迎光临散文网 会员登陆 & 注册

Rance10.ain解析(更新中)

2023-07-16 03:52 作者:喵喵猫323  | 我要投稿

本文记录了个人对“Rance10.ain”解析工作,使用工具为“alice-tools”,版本为0.13.0

段分布

代码段

与游戏玩法直接相关的函数均含有汉字或日文假名

字节码文本下载地址:https://pan.baidu.com/s/1TcXoKdWJFuXOOnBN-kchWw?pwd=yyds

T初始化1()

1、除变量加载之外,字节码的所有操作运算都在栈顶单元之间进行,而且运算结果也保存在栈顶

2、.GLOBALREF、.LOCALREF:加载全局/局部变量地址到栈顶

3、.GLOBALASSIGN、.LOCALASSIGN:对全局/局部变量变量赋值常数(类似立即数赋值操作)

4、S_PUSH:加载字符串到栈顶

5、ASSIGN:栈顶赋值到栈顶以下地址处;根据栈中被赋值变量类型具体存在两种操作,变量类型由字节码解释执行程序的符号表管理

T初始化2()

类似“T初始化1”,但不涉及卡牌生成与卡牌配置

T第2部初期卡牌配置()

由于第2部可以选择不同的性别和立绘,单独设置初期卡牌的生成和配置

T初始化3()

类似“T初始化1”,但不涉及tt的初始化和卡牌的初始化

フラグ(string arg0)

1、A_REF:从栈顶地址加载参数或局部变量,使用方法如下

2、调用函数时,栈顶为最后一个参数,调用フラグ确认(arg0, "")

3、返回flag的判断结果

T确认(string arg0)

1、PUSHLOCALPAGE:当前函数的所有参数&局部变量,以“变量数组”的形式压栈

2、调用フラグ确认("", arg0)

3、返回结果的地址!

フラグ确认(string arg0, string arg1)

1、前两个函数的具体处理函数,arg0保存flag名,arg1保存待确认项目名

2、REF:加载全局变量,和赋值一样,根据栈中被赋值变量类型具体存在两种操作

(To be continued...)

Rance10.ain解析(更新中)的评论 (共 条)

分享到微博请遵守国家法律