Tweak如何使用MSHookIvar修改某类成员变量,无get/set。

如下,一个Unity + Mono游戏,不用Patch方式,也没有getter/setter,需要修改public int Force;怎么办?

public class TCueAttriCfg : IConfig<int>, IConfig // TypeDefIndex: 2595
{
	// Fields
	public int ID; // 0x10
	public int Force; // 0x14
	public int Swirl; // 0x18
	public int Aim; // 0x1C
	public int Charm; // 0x20
	public int EneryChargeCost; // 0x24
	public int HasEffect; // 0x28
	public int ChallengeModeAttr; // 0x2C
	public int IsHasSpecialCue; // 0x30
	[CompilerGeneratedAttribute] // RVA: 0xB145C Offset: 0xB145C VA: 0x1000B145C
	[DebuggerBrowsableAttribute] // RVA: 0xB145C Offset: 0xB145C VA: 0x1000B145C
	private int <ConfigKeyValue>k__BackingField; // 0x34

	// Properties
	private object IConfig.ConfigKeyValue { get; }
	public int ConfigKeyValue { get; set; }

	// Methods
	// RVA: 0x2156A88 Offset: 0x2156A88 VA: 0x102156A88
	public void .ctor() { }
	// RVA: 0x2156A90 Offset: 0x2156A90 VA: 0x102156A90 Slot: 5
	private object IConfig.get_ConfigKeyValue() { }
	[CompilerGeneratedAttribute] // RVA: 0xB1498 Offset: 0xB1498 VA: 0x1000B1498
	// RVA: 0x2156AF4 Offset: 0x2156AF4 VA: 0x102156AF4 Slot: 4
	public int get_ConfigKeyValue() { }
	[CompilerGeneratedAttribute] // RVA: 0xB14A8 Offset: 0xB14A8 VA: 0x1000B14A8
	// RVA: 0x2156AFC Offset: 0x2156AFC VA: 0x102156AFC
	public void set_ConfigKeyValue(int value) { }
}

你用ObjC的工具改IL2CPP的ivar?

好吧……我还是老实patchoffset