0

我在这里阅读了堆栈溢出中的帖子,但没有人帮助我解决这个问题。

我设法制作了一个程序,它可以获取所有正在运行的进程及其 pid,如果需要,我还可以获取进程 HANDLE,无论如何我知道我必须将我的代码挂钩到进程,这也是我必须解决的问题。

我想要的是:我有一个用这段代码制作的 C++ 程序(例如):

方案一:

using namespace std;

int main(){
    int var,a;
    do{
        cout<<"1 = Change Value, 2 = Check Value, 3 = Memory Address\n";
        cin>>a;
        switch(a){
            case 1:
                cout<<"Variable value: ";
                cin>>var;
                break;
            case 2:
                cout<<"Value: "<<var<<endl;
                break;
            case 3:
                cout<<"Memory Address: "<<&var<<endl;
                break;
        }
    }while(1);
    return 0;
}

我想制作另一个程序,也是在 c++ 中,它将挂钩到该程序的进程并通过其值找到 int var 内存地址。

可以说:我将 var 设置为 5 我将第二个程序搜索为值为 5 的整数值。比在第一个程序中我将 var 值更改为 10。我在第二个程序中搜索之前找到的列表中的值 10值 5。只有一个地址带有该值,它是另一个程序 int var; 价值。

所以现在我可以根据第一个值在第二个程序中进行 if 语句。

任何人都可以帮助我吗?

4

1 回答 1

0

共享内存是常用的方法。您可以定义共享内存的公共段,并将其开头的偏移量用作“地址”。

这样你的代码是可移植的。

例如,参见这个 boost library

于 2012-05-11T15:53:47.233 回答