我试图通过获取句柄并打印其值来获取C++中进程的起始地址。我尝试通过 Cheat Engine 获取Spider Solitaire的起始地址,它给了我“300905A4D”(当前为)。我尝试
HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid)
每次我重新启动C++程序时,它都会给我一个不同的编号/地址。我一直保持蜘蛛纸牌运行,并且 Cheat Engine 一直给我相同的起始地址,但是当我打印时
cout << &pHandle;
我的c++程序每次给我一个不同的数字。我在这里做错了什么?另外,我的C++代码也可以正常工作。我可以写到内存中,所有这些,我只是想知道为什么我没有得到 Cheat Engine 给我的相同地址,以及为什么每次都不同。
最佳答案
因为您正在打印进程句柄变量的地址,并且每次运行程序时帽子可能都不同-操作系统决定每次启动应用程序时将进程及其变量放入内存的位置。
关于c++ - 每次我重新编译并运行程序时,都从C++中的HANDLE获取不同的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568185/