尝试用C ++读/写内存

时间:2015-06-07 22:30:17

标签: c++ visual-studio-2013

我是程序员新手,我想写一些代码来改变windows计算器中store函数的值。 我使用Cheat引擎来获取值存储的地址。我在网上发现了这个代码并将其复制了,但它不会写入该地址。

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

using namespace std;
int main()
{
int newValue = 500;  //value to be written

HWND hWnd = FindWindow(0, "Calculator");

if (hWnd == 0){
    cerr << "Cannot find window." << endl;
}
else {
    DWORD pId;
    GetWindowThreadProcessId(hWnd, &pId);
    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pId);

    if (!hProc) {
        cerr << "Cannot open process." << endl;
    }
    else {
        int isSucessful = WriteProcessMemory(hProc, (LPVOID)0xD2FD6EAD0C, &newValue, (DWORD)sizeof(newValue), NULL);

        if (isSucessful > 0) {
            clog << "Process memory written" << endl;
        }
        else {
            cerr << "Cannot write process memory" << endl;
        }

        CloseHandle(hProc);
    }
}
return 0;
}

当我执行它时,我得到回复&#34;无法写入进程内存&#34; 这是代码中的任何特殊缺陷吗?我完全按照我在这个视频中执行它的老兄看到的那样写了它:https://www.youtube.com/watch?v=I0zPwg4iUDk

0 个答案:

没有答案