C++ WriteMemoryProcess上的错误\u未访问
我正试图把钱的地址改成我想要的任何东西,但当我尝试这样做时,我得到了998错误,这就是error\u NOACCESS。我已以管理员身份运行visual studioC++ 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) {
#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
。一旦这样做,您就可以修改它。您必须记住将其更改回完成时的状态。