Как принять пользовательский ввод для константы и использовать writeprocessmemory?

Как я использую WriteProcessMemory изменить боеприпасы моего текущего адреса боеприпасов? Я знаю, как читать это, я просто не знаю, как это написать. Это SetAmmo. Я думал, что я делаю все правильно?

Код:

#include <iostream>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>
using namespace std;

DWORD pid;
DWORD Ammo = 0x07823C5EC;
int MyAmmo;
int SetAmmo = 1;
int main(){

HWND hwnd = FindWindowA(0, ("Garry's Mod"));

GetWindowThreadProcessId(hwnd, &pid);
HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, pid);

ReadProcessMemory(pHandle, (LPVOID)Ammo, &MyAmmo, sizeof(MyAmmo), 0);
cout<<"Current Ammo = "<<MyAmmo<<endl;

WriteProcessMemory(pHandle, (LPVOID)Ammo, &SetAmmo, sizeof(SetAmmo), 0);
system("Pause");
return 0;
}

2

Решение

вы открываете процесс с доступом для чтения:

HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, pid);

пытаться:

HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]