办法1:
1- 打开 CE
2- 搜索字符串“LocalPlayer”而不是“ULocalPlayer”,只需搜索“LocalPlayer+nullchar”
- 在 CheatEngine Memory Viewer 中将会显示类似“LocalPlayer”的内容。
3- 获取此名称的索引(来自 gnames [从搜索字符串中获取的结果])。
- 大多数情况下将是 [ResultAddress - 0x8]。
- 无论如何它看起来都像普通数字。(不是很大的数字)
- 我认为它不会超过 0x10000。
- 为方便起见,只需在 CheatEngine Memory Viewer 中右键单击 => 显示类型 => 4Byte (HEX)
4- 除以 2(索引 / 2)。
- Gnames 索引增量为 2,就像这样,[0、2、4、6、8、10、12 等]。
5- 搜索该索引(除以一)。
- 如果您搜索十六进制数,请不要忘记选中 HEX 复选框。
6- 通过这种方式过滤结果
- 每个结果在 CE 内存查看器(Ctrl+B)上浏览,您将发现下一个 4 个字节(int)
- 类似于 0 或 1 或最大值为 2(我从未见过 2,但无论如何它是 FName 编号)。
- 如果您发现类似的东西,只需记下地址并继续搜索。
- 大多数时候您会寻找最大的(FName 编号)。
- 所以如果你发现 0 就寻找 1,如果你发现 1 就寻找 2。直到完成所有扫描结果..
7- 返回您的 LocalPlayer 基地址(VTable)。
- x86 大多数时候将是 [FNameIndex - 0x10]
- x64 我懒得计算 xD
- (查看 UObject),FNameIndex(意味着您已经搜索的结果(Devided 索引))
8- 恭喜,您找到了 LocalPlayer。