Pointers 计算多级指针

Pointers 计算多级指针,pointers,cheat-engine,Pointers,Cheat Engine,我试图计算出一个指向变量的多级指针,但在第三级,我的偏移量是'rcx+r9*8' 完整说明: 140BD82D4 - 4A 8B 04 C9 - mov rax,[rcx+r9*8] 我通常使用偏移量在计算器中从当前指针的地址中扣除它,但在这种情况下,我真的不知道偏移量是什么意思 如果有任何正确方向的提示,我将不胜感激。看起来您正在手动反转x64进程的指针 rcx+r9*8 当您看到这种类型的操作数时,可以假定RCX是数组的地址,r9是数组的索引,8是每个元素的大小。考虑到x64上的指针

我试图计算出一个指向变量的多级指针,但在第三级,我的偏移量是'rcx+r9*8'

完整说明:

140BD82D4 - 4A 8B 04 C9   - mov rax,[rcx+r9*8]
我通常使用偏移量在计算器中从当前指针的地址中扣除它,但在这种情况下,我真的不知道偏移量是什么意思


如果有任何正确方向的提示,我将不胜感激。

看起来您正在手动反转x64进程的指针

rcx+r9*8
当您看到这种类型的操作数时,可以假定RCX是数组的地址,r9是数组的索引,8是每个元素的大小。考虑到x64上的指针大小为8字节,您还可以假设它是一个指针数组。如果您正在反转游戏,并且指针指向玩家对象的成员变量,那么RCX可能是实体列表,在本例中,它是玩家对象指针的数组

遗憾的是,除非您在代码中放置一个钩子或向后跟踪并找到r9从何处获取其值,否则您将无法获取r9的值。但是因为你可能刚刚找到了播放器数组,r9的值可能不再重要了,因为你找到了更好的东西,实体列表


如果是这种情况,请找到RCX(实体列表)的指针,然后可以像boss一样遍历所有播放器对象。也可以是虚拟函数表或其他随机数组,它们也是
rcx
,由
r9
8
偏移。这里没有歧义。我不明白问题出在哪里。我想这只是因为我缺乏这方面的基本知识。r9是什么?大概是临时寄存器。我想,这取决于你的体系结构。好吧,我会试着从另一个角度问你——我怎么计算下一个指针的地址,因为我不能把r9*8放进计算器,从我的当前地址中扣除它?我想,算出
r9
的值吧?我完全不清楚你所说的“从我当前的地址扣除”是什么意思,或者你的最终目标是什么,所以我能提供的帮助就到此为止了。