内存地址是否会发生变化,如何动态发现它们?

Ful*_*llR 1 c++ process memory-address

我正在编写一个访问另一个进程内存的简单程序.我一直在使用内存编辑器来查找我希望程序检索并使用ReadProcessMemory函数的变量的地址.到目前为止,没有任何问题,但我不确定值的地址是否可能会根据正在运行其他程序的环境而改变.

除了对程序本身的更改,我应该关注这个吗?我注意到我的内存编辑器保存了相对于.exe位置的地址(例如program.exe + 198F6C),我很乐意这样实现我的程序,但我找不到任何方法来检索当前的C++中program.exe的地址.

jal*_*alf 5

是的,他们改变了.

操作系统每次启动时都会将进程加载到不同的偏移量中,并且每次运行代码时,任何分配newmalloc很可能会获得不同的地址.