Работать с памятью в c++ очень просто, правда на ютубе(русскому) нет ничего стоящего по этой теме, поэтому решил написать эту статью. 1. Подключаем библиотеки и создаем нужные переменные Код #include <iostream> #include <Windows.h> DWORD ProcessID; // переменная для хранения ИД процесса. DWORD Change = 0x9FF5E924; // адрес в котором хранится определенное значение(в данном случае патроны). LPCSTR window = "Counter-Strike: Global Offensive"; // имя окна с которым мы хотим работать. DWORD NewChange = 230; // число, которое мы впишем в нами заданный адрес. 2. Что нам нужно чтобы начать работать с памятью определенной программы? 1.Имя процесса 2.ИД процесса 3. Handle 3. поиск ИД процесса и создание Handle Код int main() { HWND hwnd = FindWindowA(0, (window)); // поиск окна по имени GetWindowThreadProcessId(hwnd, &ProcessID); // получение ИД окна HANDLE gHANDLE = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID); // Создание Хэндла } 4. Чтение Памяти Код ReadProcessMemory(gHANDLE, (LPVOID)Change, &NewChange, sizeof(NewChange), 0); // чтение из адреса 0x9FF5E924 и запись в переменную NewChange 5. Запись Памяти Код WriteProcessMemory(gHANDLE, (LPVOID)Change, &NewChange, sizeof(NewChange), 0); // запись в адрес 0x9FF5E924 числа хранящегося в переменной NewChange Вот и все! Вы теперь кулхацкер и можете писать разные трейнеры для оффлайн игр(на онлайн это не прокатит), но чтобы писать что-то большее чем бесконечное здоровье или патроны, хотя-бы вх, нужно неплохо знать D3D.