我想知道是否能够使用C/C++访问内存的直接块并获取值。例如:
int i = 15;
int *p = &i;
cout << &i;
如果我在这里获取打印值,那么将会给我变量i的地址,它包含值15。对于这个示例,我只会说它打印出0x0ff9c1。如果我有一个单独的程序声明了一个指针,就像这样...int *p = 0x0ff9c1;
cout << *p;
能否打印出另一应用程序放在内存块0x0ff9c1中的那个15?我知道我的指针声明与内存地址有误,但我不确定该如何改正。我尝试使用 memcopy ,但始终无法使其工作。我知道这是可能的,因为我有一个名为Cheat Engine的程序,可以修改游戏内存地址值以获得不公平的优势。通过Cheat Engine,我已成功将打印的内存位置和获取值(15)放置到了该处。我的目标是使用C ++实现这一点。
如果这太令人困惑了,基本上我想访问另一个应用程序使用其内存地址存储的变量并打印出该值。我正在使用Windows 7 x64和MinGW编译器。谢谢!
PS:我会发布Cheat Engine的图片以更好地说明。
![enter image description here](https://istack.dev59.com/4tVbf.webp)