计算多级指针

时间:2018-01-18 23:04:45

标签: pointers cheat-engine

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

完整说明:

140BD82D4 - 4A 8B 04 C9   - mov rax,[rcx+r9*8]

我通常使用偏移量从计算器中的当前指针I的地址中扣除它,但在这种情况下,我真的不知道偏移的含义。

我将欣赏正确方向的任何暗示。

1 个答案:

答案 0 :(得分:0)

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

rcx+r9*8

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

遗憾的是,你无法获得r9的值,除非你在那里放置一个钩子或在代码中向后追踪并找到r9获得它的值的位置。但是因为你可能刚刚找到了播放器数组,r9的值可能不再重要,因为你发现了更好的东西,实体列表。

如果是这种情况,找到RCX(实体列表)的指针,然后你可以像老板一样遍历所有的玩家对象。也可以是虚函数表或其他随机数组