20260728

0346睡到0903睡到1035,睡觉很舒服。

想研究闪耀星骑士的伤害计算有两种方式,一种是看当前的buff量去猜,一种是去看TSKBattleCalculationManager$$CaluculationNormalDamage代码。两者都很累(╯▔皿▔)╯。看了很久也只感觉和wiki上的伤害计算公式大差不差。ghidra解析出的代码也很难看

1
2
3
lVar7 = Singleton<object>$$get_Instance(Method$Singleton<TKSRandom>.get_Instance());
...
lVar7 = *(longlong *)(attack + 0x28);

同一个变量到处赋值,想rename让自己眼睛好受点也不方便。

逆向是为了回答问题,不是为了把 Ghidra 生成的每一行 C 代码都读懂。

wiki中基本是对的,看了ダメージ計算式,发现连乱数都测出来了,ghidra似乎都没能成功识别,把public static float BattleRate(long value) { }解析成了void CommonConstants$$BattleRate(void)

尽管平日里伤害多么多么溢出,只要一出个总力战比谁伤害高总能有可以挖掘的点。

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计