0

我想将内存地址的值或值本身移动到 R9 寄存器中,为此我一直在 Cheat Engine 中使用 AOB 注入来帮助我进行测试。每次尝试都导致崩溃。

我尝试将值直接发送到 R9 寄存器(mov r9,DECIMALVALUE)或通过十六进制发送,或者发送十进制或十六进制的内存地址(mov r9,[DECIMALMEMORYADDRESS])

我的最新尝试:

  mov rax, 2981737325408
  mov r9, rax

原始代码:

  mov r9, [r8]

预期的结果是不会发生崩溃,并且每次加载时都会成功地将内存地址的值发送到 r9 寄存器或将内存地址本身成功发送到寄存器中。仅当我在游戏中生成时才会调用此指令。

4

1 回答 1

0

如果您只是使用 Cheat Engine 反汇编程序的“汇编代码”选项覆盖汇编指令,那么您应该直接将硬编码地址移入 r9。RAX, r9 都是通用寄存器,所以没关系。

mov r9, 2981737325408

如果您只是覆盖代码,那么您的指令的问题在于您正在破坏 RAX 中的值。或者你可以这样做

push rax mov rax, 2981737325408 mov r9, rax pop rax

如果您使用的是作弊引擎 AOB 注入模板,则此模板实际上是一个钩子,但它对您来说有点抽象。但即使在这种情况下,您也只需要执行 1 指令,将您的值移入 r9

于 2020-01-03T19:15:10.210 回答