C++ - *(int**) 地址?这里发生了什么?

C++ - *(int**) address? What happens here?

本文关键字:这里 发生了 地址 什么 int C++      更新时间:2023-10-16

我浏览了一些代码,基本上是一个钩子(dll注入(。在代码中,我发现了以下内容:

int Address = 0x12345678; //Address of a memory location of target process
int *Pointer = *(int**) Address; //What happens here?

所以看起来0x12345678(地址只是一个示例(是一个指针。因此,我们想要获取的值存储在内存地址0x12345678。我猜对了,会发生以下情况:

-将地址强制转换为 int 指针并取消引用它,以获取存储在 0x12345678

- 将内存地址0x12345678的值也视为 int-pointer

提前非常感谢你,对不起我的英语不好!

-Cast Address 到 int 指针并取消引用它,以获取存储在 0x12345678

不。它将Address强制转换为指向 int 的指针。并取消引用它,以获取指向存储在0x12345678int 的指针

- 将内存地址0x12345678处的值也视为整数指针

是的。