软件介绍
本教程适合新手,详细讲解LGL中异类间的函数调用与字段读写实战技巧。
核心内容概要:
A. 通过字段获取其他类对象
如图1所示,在dump.cs中可见Player类含有private Enemy target;和private Enemy nearest;字段。需求是在玩家受致死伤害时,通过nearest字段获取攻击者对象,调用其Die函数或写入死亡字段。
- 读取受到伤害的玩家对象。
- 读取该对象的
nearest字段获取Enemy对象。 - 写入死亡标志或调用死亡函数。
B. 通过函数参数获取类对象
这是另一种获取对象的常见方式,通过分析函数参数列表来提取对象。
C. 通过函数返回值获取类对象
针对没有直接Hook点的类(如服装解锁类),通过其他类寻找入口。
- 找到控制解锁状态的字段(如图3)。
- 搜索代码中对该字段的引用,找到初始化过程(如图4)。
- 在初始化函数处进行Hook,获取类对象并读写字段(如图5)。
D. 异类调用对象获取通法
当无法直接获取对象时,使用IDA Pro反汇编分析。
例如:在Bullet类中寻找Enemy对象。
查看Bullet类内的函数是否调用了Enemy类的方法,通过还原调用链和上下文,找到获取Enemy对象的方法(如图6、7)。
E. 同类对象的判断与转换
在处理玩家与敌人共用的类时,需区分对象实例,避免误伤自己(如秒杀功能)。通过反伤例子展示如何在同类型对象间进行转换和区分(如图8)。
软件截图








下载地址
由于该内容为教程技术分享,不包含软件包,如需相关工具请访问官方渠道或根据教程自行配置环境。
请登录后发表评论
注册
停留在世界边缘,与之惜别