gpt4 book ai didi

c++ - WriteProcessMemory() 返回 487?使用 CheatEngine 找到的值

转载 作者:行者123 更新时间:2023-11-28 06:28:10 26 4
gpt4 key购买 nike

如上面所写 (^),我遇到了 C++ 和 WriteProcessMemory() 的问题。我打开 Windows-Calc.exe,存储一个数字并打开 CheatEngine。我找到了这个号码(改变了它等)并将它放在这个程序中:(注意:我是德国人;“Rechner”等同于“计算器”)

#include <iostream>
#include <Windows.h>
using namespace std;

int main (){
int Value = 500;
HWND hWnd = FindWindow(0, L"Rechner");

if (!hWnd) {
cerr << "Can't find window" << endl;
return 0;
}

DWORD PID;
GetWindowThreadProcessId(hWnd, &PID);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);

if (!hProcess) {
cerr << "Process handle error" << endl;
return 0;
}
int iSuccess = WriteProcessMemory(hProcess, (LPVOID)0x899FC6F60C , &Value, (DWORD)sizeof(Value), NULL);
int i = 0;
while (iSuccess == 0){
i = i+1;
cerr << "Failed " << i << " Error: " << GetLastError() << endl;
iSuccess = WriteProcessMemory(hProcess, (LPVOID)0x899FC6F60C , &Value, (DWORD)sizeof(Value), NULL); //Here all begins
}
clog << "Done" << endl;
CloseHandle(hProcess);
return 0;
}

找到窗口,找到进程(那里没有错误..)但是,“//Here all begins”行返回 0,并将 GetLastError() 设置为 487。就像以下所有内容一样。如果你知道,我做错了什么,请描述它 noob-friendly,我昨天开始使用 C++。

最佳答案

查看此 link有关 GetLastError 代码含义的说明。

在这种情况下 ERROR_INVALID_ADDRESS,尝试访问无效地址。

这是因为您正在写入“随机”内存地址。你不能只拿一个数字,然后希望其他进程在这个地址有内存。

关于c++ - WriteProcessMemory() 返回 487?使用 CheatEngine 找到的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com