ReadProcessMemory CheatEngine值

时间:2018-08-23 20:59:53

标签: c++

我想从过程中获取一个值,这是使用“计算器”的简单测试。 首先,我使用CheatEngine获取地址。其次,我将其放在ReadProcessMemory中。 但是ReadProcessMemory返回0,我想我错过了一些事情,我用BaseAddress找到了一些东西,但是结果仍然很差。 Google对我而言没有结果,所以我问你!

#include <windows.h>
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int value;
    DWORD pid;
    HWND hwnd = FindWindow(NULL,"Calculatrice");
    if(!hwnd)
    {
             cout << "Window not found!";
    }
    else
    {
        GetWindowThreadProcessId(hwnd,&pid);
        HANDLE phandle = OpenProcess(PROCESS_ALL_ACCESS,0,pid);
        if(!phandle)
        {
                cout <<"Could not get handle!";
        }
        else
        {
                cout << ReadProcessMemory(phandle,(LPVOID)0xC71657E900,&value,sizeof(value),0) << endl;
                cout << value;
                getch();
                return 0;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

已解决!当地址太大(因为它是64位地址)时,程序将更改为32位地址,这就是为什么它不起作用的原因。

因此,在Visual Studio中,将其设置为x64。