新手学习调试某单机小游戏,IDA + ill2cppdumper的攻击力方法getter和setter:
IDA中:
il2cpp:000000010216C684 ; =============== S U B R O U T I N E =======================================
il2cpp:000000010216C684
il2cpp:000000010216C684
il2cpp:000000010216C684 HeroConfig$$get_attack ; CODE XREF: ChapterPassAttributeNode$$reloadHeroData+170↑p
il2cpp:000000010216C684 ; ChapterPassAttributeNode$$reloadChapterData+170↑p …
il2cpp:000000010216C684 LDR D0, [X0,#0x28]
il2cpp:000000010216C688 RET
il2cpp:000000010216C688 ; End of function HeroConfig$$get_attack
il2cpp:000000010216C688
il2cpp:000000010216C68C
il2cpp:000000010216C68C ; =============== S U B R O U T I N E =======================================
il2cpp:000000010216C68C
il2cpp:000000010216C68C
il2cpp:000000010216C68C HeroConfig$$set_attack ; DATA XREF: __const:0000000103AAE778↓o
il2cpp:000000010216C68C STR D0, [X0,#0x28]
il2cpp:000000010216C690 RET
il2cpp:000000010216C690 ; End of function HeroConfig$$set_attackil2cpp:000000010216C684 ; =============== S U B R O U T I N E =======================================
il2cpp:000000010216C684
il2cpp:000000010216C684
il2cpp:000000010216C684 HeroConfig$$get_attack ; CODE XREF: ChapterPassAttributeNode$$reloadHeroData+170↑p
il2cpp:000000010216C684 ; ChapterPassAttributeNode$$reloadChapterData+170↑p …
il2cpp:000000010216C684 LDR D0, [X0,#0x28]
il2cpp:000000010216C688 RET
il2cpp:000000010216C688 ; End of function HeroConfig$$get_attack
il2cpp:000000010216C688
il2cpp:000000010216C68C
il2cpp:000000010216C68C ; =============== S U B R O U T I N E =======================================
il2cpp:000000010216C68C
il2cpp:000000010216C68C
il2cpp:000000010216C68C HeroConfig$$set_attack ; DATA XREF: __const:0000000103AAE778↓o
il2cpp:000000010216C68C STR D0, [X0,#0x28]
il2cpp:000000010216C690 RET
il2cpp:000000010216C690 ; End of function HeroConfig$$set_attack
ill2cppdumper中的Class HeroConfig
// Namespace:
public class HeroConfig : NSConfigObject // TypeDefIndex: 7645
{
// Fields
private double <attack>k__BackingField; // 0x28
// Properties
public double attack { get; set; }
// Methods
[CompilerGeneratedAttribute] // RVA: 0x145190 Offset: 0x145190 VA: 0x100145190
// RVA: 0x216C684 Offset: 0x216C684 VA: 0x10216C684
public double get_attack() { }
[CompilerGeneratedAttribute] // RVA: 0x1451A0 Offset: 0x1451A0 VA: 0x1001451A0
// RVA: 0x216C68C Offset: 0x216C68C VA: 0x10216C68C
private void set_attack(double value) { }
}
double值64位的好像很难Hex Patch……然后我想用THEOS方式,请问Tweak怎么写。百度/google了几天,茶饭不思,求教。