我一直在阅读网站并在谷歌上搜索试图找到我想要做的事情的最终答案,但我没有找到一个能回答我所有问题的答案。
我有两个过程。一个有一个整数变量,我想通过第二个过程来改变它。我知道如何读取/写入特定的内存位置,但我只知道如何在本机进程地址上执行此操作。
我不明白createremotethread。有没有可能我得到最干净、最简单的操作内存的例子,而不是正在运行的程序本机的进程?当然,假设两个程序都在运行。
提前致谢
编辑:我从其他来源得到了一些关于我的问题的答案。我只想了解如何将变量写入内存位置,例如:
WriteProcessMemory(phandle,(void*)address,val,sizeof(val),NULL);
假设 val 是布尔值,这似乎没有效果:
while(true){
key=getch();
if(key=='1'){
if(val)val=false;
else val=true;
WriteProcessMemory(phandle,(void*)address,&val,sizeof(val),NULL);
}
bool val2;
ReadProcessMemory(phandle, (void*)address, &val2, sizeof(val2), NULL);
cout<<val2<<endl;
}
总是显示 0。为什么?