Начинающий
-
Автор темы
- #1
Только начал изучать написание читов под кс го и наткнулся на проблему с тем что память не читается, я попробывал прочитать память без offset и все работает, но при добавлении offset ReadMemoryProcess завершается не успешно и при последующем вызове GetLastError выдает ошибку 299
C++:
#include <Windows.h>
#include <iostream>
#include <tlhelp32.h>
uintptr_t client_dll;
int main() {
HWND windows = FindWindowA(NULL, "Counter-Strike 2");
DWORD ProcessId;
GetWindowThreadProcessId(windows, &ProcessId);
HANDLE ProcessCS2 = OpenProcess(PROCESS_ALL_ACCESS | PROCESS_VM_READ, FALSE, ProcessId);
if (ProcessCS2 != INVALID_HANDLE_VALUE) {
MODULEENTRY32 Module;
Module.dwSize = sizeof(MODULEENTRY32);
HANDLE Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE, ProcessId);
if (Snapshot != INVALID_HANDLE_VALUE) {
if (Module32First(Snapshot, &Module)) {
do
{
if (lstrcmpiW(Module.szModule, L"client.dll")) {
client_dll = (uintptr_t)Module.modBaseAddr;
break;
}
} while (Module32Next(Snapshot, &Module));
}
}
CloseHandle(Snapshot);
uintptr_t value = 0;
ReadProcessMemory(ProcessCS2, (LPVOID*)(client_dll + 0x191157), &value, sizeof(value), NULL);
std::cout << GetLastError();
int FOV = 160;
WriteProcessMemory(ProcessCS2, (LPVOID*)(value), &FOV, sizeof(FOV), NULL);
CloseHandle(ProcessCS2);
}
}