Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ WriteMemoryProcess上的错误\u未访问_C++ - Fatal编程技术网

C++ WriteMemoryProcess上的错误\u未访问

C++ WriteMemoryProcess上的错误\u未访问,c++,C++,我正试图把钱的地址改成我想要的任何东西,但当我尝试这样做时,我得到了998错误,这就是error\u NOACCESS。我已以管理员身份运行visual studio #include <windows.h> using namespace std; int main() { HWND hWnd = FindWindowA(NULL, "PC Building Simulator"); if (hWnd == NULL) {

我正试图把钱的地址改成我想要的任何东西,但当我尝试这样做时,我得到了998错误,这就是error\u NOACCESS。我已以管理员身份运行visual studio

#include <windows.h>
using namespace std;
int main()
{
    HWND hWnd = FindWindowA(NULL, "PC Building Simulator");
    if (hWnd == NULL)
    {
        cout << "App not found" << endl;
        Sleep(3000);
        exit(-1);
    }
    else
    {
        DWORD proccess_ID;
        GetWindowThreadProcessId(hWnd, &proccess_ID);
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proccess_ID);
        if (hProcess==NULL)
        {
            cout << "App not found" << endl;
            Sleep(3000);
            exit(-1);
        }
        else
        {
            int newdata = 500;
            DWORD newdatasize = sizeof(newdata);
            WriteProcessMemory(hProcess, (LPVOID)0x1B13B498FB0, &newdata, newdatasize, 0);
            cout << GetLastError() << endl;

        }
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
HWND HWND=FindWindowA(空,“PC建筑模拟器”);
if(hWnd==NULL)
{

cout这个问题对我来说很容易解决,但不是那么容易找到。我不得不去configuration manager,将平台从Win32更改为x64,这使它工作起来了

也许
0x1B13B498FB0
不是正确的地址。请记住,windows每次运行时都会随机分配地址空间。我使用作弊引擎获取地址,如果我更改作弊引擎中的值它在游戏中也会更改,我还没有关闭游戏,所以地址不能具有随机性你正在调用
GetLastError()
不检查函数的返回值以了解错误是否有效。函数即使成功也会更改错误值的情况并不少见。它肯定不会在游戏中更改值,因此我认为它无论如何都不起作用。可能误解了您的意思,而您通常必须
VirtualProtectEx()
您要修改的内存。它可能不是
PAGE\u READWRITE
。一旦这样做,您就可以修改它。您必须记住将其更改回完成时的状态。