You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何寻找静态指针地址的替代方案?解决游戏重启后指针地址变更问题

Cheat Engine动态指针与AoB注入问题解答

思路正确性判断

你的思路完全正确。这段汇编指令mov rdi, [rax + r13*8 + 28]的本质就是通过rax、r13两个寄存器的值加上固定偏移28来计算目标值的内存地址。只要能稳定获取游戏启动或角色死亡后这两个寄存器的有效值,就能通过公式直接算出目标地址,不用每次手动重新查找指针。

实操建议(适合无编程背景)

不用碰复杂的DLL注入,直接用Cheat Engine自带功能就能解决:

  • 用AoB扫描锁定代码位置:游戏的程序代码段是固定的,每次启动后这段指令的相对偏移不会变。打开CE的AoB扫描,输入指令对应的机器码48 8B 7C C0 28(对应你给出的汇编指令,CE会自动匹配细微差异),扫描后就能定位到这段代码的固定位置。
  • 添加代码钩子自动计算地址:右键扫描到的代码,选择「自动汇编」→「新建」,写入一段简单的钩子代码,让它在原指令执行时自动计算并保存目标地址:
    // 保存原寄存器值,避免破坏游戏逻辑
    push rax
    push r13
    // 计算目标地址并存入CE全局变量
    mov [MyTargetAddr], rax
    mov rcx, r13
    shl rcx, 3  // 等价于r13*8
    add [MyTargetAddr], rcx
    add [MyTargetAddr], 28
    // 恢复寄存器,执行原指令
    pop r13
    pop rax
    mov rdi, [rax + r13*8 + 28]
    
    保存为CT表,下次启动游戏加载该CT表,就能直接通过MyTargetAddr这个变量访问目标值。
  • 简化操作:直接用指针追踪:如果不想写汇编,也可以在找到这段代码后,用CE的「指针扫描」功能,以rax为基址,添加r13*8 +28作为多级偏移,生成稳定的指针模板。

内容的提问来源于stack exchange,提问作者littlebear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 03:22:49