ReadProcessMemory 和 WriteProcessMemory 函数怎么用?怎么可以读取写入数据?请指教!小弟先谢了!

解决方案 »

  1.   

    HWND hWnd;
    hWnd=::FindWindow(NULL,"纸牌");
             DWORD dwProcessId;
    char* tmepvalue = new char[20];
    GetWindowThreadProcessId(hWnd,&dwProcessId);
    HANDLE hProcess=OpenProcess(PROCESS_VM_READ,FALSE,dwProcessId);
             ReadProcessMemory(hProcess,(LPCVOID)0x000790B0,tmepvalue,1,NULL);
             m_format=tmepvalue;
    UpdateData(FALSE);
      

  2.   

    先谢谢楼上的回答!!请问怎么知道该数据的地址?用什么方法取得?这个问题首先要问你想得到什么样的数据。比如你知道某个进程中有个标志性的数据,比如是字符串“weidaa”,那么你可以把那个进程中的内容ReadProcessMemory读出来,然后根据字符串比较得到地址。
    某些时候你不知道标志性数据,你可以尝试通过调试工具,比如SoftIce来查出偏移,然后再读取其中的内容。最理想的情况是你首先在目标进程VirtualAllocEx一段空间,这个地址你当然就知道。