#include #include #include DWORD GetProcessID(const wchar_t* processName) { DWORD procId = 0; HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnap != INVALID_HANDLE_VALUE) { PROCESSENTRY32 procEntry; procEntry.dwSize = sizeof(procEntry); if (Process32First(hSnap, &procEntry)) { do { if (!_wcsicmp(procEntry.szExeFile, processName)) { procId = procEntry.th32ProcessID; break; } } while (Process32Next(hSnap, &procEntry)); } } CloseHandle(hSnap); return procId; } uintptr_t GetModuleBaseAddress(DWORD processID, const wchar_t* moduleName) { uintptr_t modBaseAddr = 0; HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, processID); if (hSnap != INVALID_HANDLE_VALUE) { MODULEENTRY32 modEntry; modEntry.dwSize = sizeof(modEntry); if (Module32First(hSnap, &modEntry)) { do { if (!_wcsicmp(modEntry.szModule, moduleName)) { modBaseAddr = (uintptr_t)modEntry.modBaseAddr; break; } } while (Module32Next(hSnap, &modEntry)); } } CloseHandle(hSnap); return modBaseAddr; } uintptr_t steamCheckAddress = 0xA5B38B; int patch = 0x15FF70EB; int main() { std::cout << "cs2yi ac" << std::endl; DWORD processID = NULL; while (!processID) processID = GetProcessID(L"cs2.exe"); HANDLE processHandle = NULL; while (!processHandle) processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID); std::cout << "aciliyor" << std::endl; uintptr_t dllBaseAddress = 0; while (!dllBaseAddress) dllBaseAddress = GetModuleBaseAddress(processID, L"client.dll"); WriteProcessMemory(processHandle, (BYTE*)(dllBaseAddress + steamCheckAddress), &patch, sizeof(int), NULL); std::cout << "kapandi" << std::endl; std::cin.get(); return 0; }