所以,我需要调用一个构造函数来开始一个用 Unity 制作的游戏中的动作,用 Il2cpp 编译。
Ghidra 的构造函数本身:
void Client.Model.Gameplay.Battle.Commands.CreatePveBattleCmd$$.ctor(longlong param_1,int stage,int *heroIds,undefined4 source,undefined8 numberBattles, undefined8 autoBattle,undefined8 presetId,undefined doubleRun)
Perfare 用 Il2cpp dumper 转储后 dnSpy 中的构造函数:
public CreatePveBattleCmd(int stageId, int[] heroIds, BattleRequestSourceId source, [Optional] int? autoBattleNumber, [Optional] UserAutoBattleData autoBattleData, [Optional] int? presetId, bool doubleRunEnabled = false)
{
}
Ghidra 中那个未知的 param_1 是类指针,我已经能够成功调用其他类的方法,但它们总是已经被实例化,所以我对如何处理这个问题有点迷茫。
我调用方法的方式如下:
typedef type (__callMethod* _name)(type param_1, type param_2);
_name name;
如何在没有类的情况下调用构造函数?