软件介绍

本教程适合新手,详细讲解LGL中异类间的函数调用与字段读写实战技巧。

核心内容概要:

A. 通过字段获取其他类对象
如图1所示,在dump.cs中可见Player类含有private Enemy target;private Enemy nearest;字段。需求是在玩家受致死伤害时,通过nearest字段获取攻击者对象,调用其Die函数或写入死亡字段。

  1. 读取受到伤害的玩家对象。
  2. 读取该对象的nearest字段获取Enemy对象。
  3. 写入死亡标志或调用死亡函数。

B. 通过函数参数获取类对象
这是另一种获取对象的常见方式,通过分析函数参数列表来提取对象。

C. 通过函数返回值获取类对象
针对没有直接Hook点的类(如服装解锁类),通过其他类寻找入口。

  1. 找到控制解锁状态的字段(如图3)。
  2. 搜索代码中对该字段的引用,找到初始化过程(如图4)。
  3. 在初始化函数处进行Hook,获取类对象并读写字段(如图5)。

D. 异类调用对象获取通法
当无法直接获取对象时,使用IDA Pro反汇编分析。
例如:在Bullet类中寻找Enemy对象。
查看Bullet类内的函数是否调用了Enemy类的方法,通过还原调用链和上下文,找到获取Enemy对象的方法(如图6、7)。

E. 同类对象的判断与转换
在处理玩家与敌人共用的类时,需区分对象实例,避免误伤自己(如秒杀功能)。通过反伤例子展示如何在同类型对象间进行转换和区分(如图8)。

软件截图

LGL异类函数调用与字段读写详解 第5张插图
LGL异类函数调用与字段读写详解 第6张插图
LGL异类函数调用与字段读写详解 第7张插图
LGL异类函数调用与字段读写详解 第8张插图
LGL异类函数调用与字段读写详解 第9张插图
LGL异类函数调用与字段读写详解 第10张插图
LGL异类函数调用与字段读写详解 第11张插图
LGL异类函数调用与字段读写详解 第12张插图

下载地址

由于该内容为教程技术分享,不包含软件包,如需相关工具请访问官方渠道或根据教程自行配置环境。