【发布时间】:2019-06-25 01:42:45
【问题描述】:
我想将内存地址的值或值本身移动到 R9 寄存器中,为此我一直在使用作弊引擎中的 AOB 注入来帮助我进行测试。每次尝试都会导致崩溃。
我尝试将值直接发送到 R9 寄存器 (mov r9, DECIMALVALUE) 或通过十六进制发送,或者发送十进制或十六进制的内存地址 (mov r9, [DECIMALMEMORYADDRESS])
我的最新尝试:
mov rax, 2981737325408
mov r9, rax
原代码:
mov r9, [r8]
预期的结果是不会发生崩溃,并且每次加载时都会成功地将内存地址的值发送到 r9 寄存器或将内存地址本身成功发送到寄存器。只有当我在游戏中生成时才会调用此指令。
【问题讨论】:
-
x86 指令是可变长度的。
mov r9, VAL是 10 个字节,而mov r9, [r8]是 3 个字节。因此,您可能正在覆盖后续指令。 (由于我不知道 AOB 注入是什么,我可能完全错了。) -
您希望软件在加载后对 r9 中的值做什么?
-
为什么要销毁 RAX,而不是直接使用
mov r9, 2981737325408将 64 位立即数常量放入 R9?
标签: assembly 64-bit intel cheat-engine