Cheat Engine中的指针使用

酥酥 发布于 2022-05-31 1156 次阅读


指针说白了就是地址

前面的例子都是寄存器寻址:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。

但是如果我们碰到了寄存器间接寻址:寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。

一般来说如果前面两种方法行不通可以试试着一种方法,操作如下:

我们理一下思路首先监听值–然后找到放着这个值的地址1-再找放着这个地址1的地址2

Step1 找值对应的地址

Step2 找地址1对应的地址2

输入地址1选中十六进制开始找找到地址2

一般来说 格式大概是 mov [rsi],eax 那么我们要找的就是rsi的地址 如果是 mov [rsi+30],我们还是要找rsi的地址不过在配置指针的时候要加上偏移量

现在我们有了地址2(不会变) 可以通过地址2找到地址1的值(会变) 此时我们需要一个指向地址1的指针,指向地址2的值
上面讲的是一重指针也就是mov a,[b] 把b为的地址的值存到a

下面讲解多重指针

也就是mov a,[b] mov c,[a+18]套娃

我们也是从找值入手比如值c是1526 找是谁改写了这个值 他的地址为a+18
选中十六进制 找a
定义一重指针p偏移量为18
到这里我们第二集都讲过

但是我们这里还没完我们要找到b

找到a以后–右击–是谁访问了这个变量(包括读写)–找到了b相关语句和b的地址

定义二重指针 定义的时候越靠上 重数也越靠前
仰天大笑出门去,我辈岂是蓬蒿人
最后更新于 2022-05-31