C++ WriteProcessMemory由于某种原因无法工作
这是我试图制作的一个程序的所有源代码,我根本无法让WriteProcessMemory工作。它返回正确的消息,表示一切顺利,但实际上游戏中没有任何变化。有人知道修复方法吗C++ WriteProcessMemory由于某种原因无法工作,c++,winapi,C++,Winapi,这是我试图制作的一个程序的所有源代码,我根本无法让WriteProcessMemory工作。它返回正确的消息,表示一切顺利,但实际上游戏中没有任何变化。有人知道修复方法吗 #include <iostream> #include <Windows.h> using namespace std; // variables int plcHold = 1; string hlthLoop = "OFF"; string ammoLoop = "OFF"; DWORD pid
#include <iostream>
#include <Windows.h>
using namespace std;
// variables
int plcHold = 1;
string hlthLoop = "OFF";
string ammoLoop = "OFF";
DWORD pid;
DWORD playerAddr;
DWORD hlthOffs = 0xF8;
// main function
int main()
{
// finding pid, opening proc, finding player address
HWND hwnd = FindWindowA(NULL, "AssaultCube");
if(hwnd == NULL)
{
cout << "Error; Couldn't find window" << endl;
} else{
GetWindowThreadProcessId(hwnd, &pid);
HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
if(pHandle == NULL)
{
cout << "Error; Couldn't open process" << endl;
} else{
ReadProcessMemory(pHandle, (LPCVOID)0x50F4F4, &playerAddr, sizeof(playerAddr), 0);
if(ReadProcessMemory != FALSE)
{
cout << "Health successfully read!" << endl;
} else{
cout << "Error code " << GetLastError << endl;
}
}
while(plcHold == 1){
cout << "========== *****'s Assault Cube Trainer ==========\n" << endl;
cout << "=============== Health Loop - " << hlthLoop << " ================" << endl;
Sleep(1500);
system("cls");
if(GetAsyncKeyState(0x5A))
{
cout << "Health successfully edited!" << endl;
WriteProcessMemory(pHandle, LPVOID(playerAddr + hlthOffs), 0, sizeof(999), 0);
CloseHandle(pHandle);
}
}
}
return 0;
}
#包括
#包括
使用名称空间std;
//变数
int-plcHold=1;
字符串hlthLoop=“关”;
字符串ammoLoop=“关”;
德沃德pid;
德沃德·普拉耶拉德尔;
DWORD hlthOffs=0xF8;
//主要功能
int main()
{
//查找pid,打开进程,查找播放机地址
HWND HWND=FindWindowA(NULL,“攻击立方体”);
if(hwnd==NULL)
{
cout您正在为第三个(lpBuffer
)参数传递一个指向WriteProcessMemory
的空指针。您必须传递实际值的地址,而不是值本身。如果要写入整数值,请尝试以下操作:
DWORD val = 0; // or 999?
WriteProcessMemory(
pHandle, static_cast<LPVOID>(playerAddr + hlthOffs),
&val, sizeof(val), 0);
DWORD val=0;//还是999?
写进程存储器(
幻影,静态施法(playeradr+hlthoff),
&val,sizeof(val),0;