使用 UE4SS 查找内存指针
本教程介绍如何结合 UE4SS 的对象地址与 Cheat Engine 的指针扫描,查找游戏对象及其成员。阅读前应熟悉 Cheat Engine 基本操作。
原作者将本教程定位于教育与研究用途,并提示操作可能带来系统损坏、违反服务条款或法律方面的风险。
查找对象实例
以启用控制台解锁功能的 UE4SS 启动游戏。如果不知道玩家蓝图名称,可以执行 getall character 查看角色对象;原教程示例中玩家对象名为 PlayerBP。
在 UE4SS Live View 中搜索 PersistentLevel.PlayerBP。原教程使用 PersistentLevel. 前缀查找关卡中已生成的对象实例;名称和结构可能因游戏而异。
扫描地址
复制对象的内存地址,启动 Cheat Engine 并附加游戏进程,然后手动添加地址并对它执行指针扫描。
将 Pointer must end with specific offset 设为 0:指针指向对象本身时,示例要求最后的偏移为零。
扫描结束后重新扫描结果,选择 Only filter out invalid pointers,并在原教程示例中将 Must start with offsets 设为 30、Must end with offsets 设为 0。这些偏移条件不一定适用于其他游戏或版本。
重启游戏并重新附加进程,在 UE4SS 中重新查找实例地址,再使用新地址重新扫描指针列表;可按偏移筛选,寻找较短路径。
原教程示例得到的指针为 "CPPFPS-Win64-Shipping.exe" + 0x4Fe4998 + 0x30 + 0x110 + 0x0,具体偏移取决于游戏。
添加偏移和访问嵌套对象
在实例指针后添加成员偏移,即可访问对象的变量。嵌套对象引用也可以继续跟踪:先通过对象成员偏移找到引用的实例,再根据该实例中目标成员的偏移定位变量。偏移必须针对实际对象和游戏版本查找,不能直接套用其他资源中的值。此处用中性描述改写了原例。