#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
int yeniDeger = 200;//mermi degerinin olmasini istedigim deger
HWND pencere = FindWindowA(NULL, "AssaultCube");//pencere ismini HWND degiskenine atiyorum
if (pencere == NULL)//eger pencere ismini bulamadiysa yada oyun acik degilse hata mesaji cikartir
{
cout << "Pencere bulunamadi";
Sleep(3000);
exit(0);// hata oldugu icin 3 saniye bekler ve cikis yapar
}
else
{
DWORD islemKimligi; // DWORD degiskeni int gibi birsey oyunun islemc kimligini tutmak icin
GetWindowThreadProcessId(pencere, &islemKimligi);//buldugumuz pencerenin islemkimligini DWORD olarak tanimladigimiz degiskene atiyoruz
HANDLE tutamac = OpenProcess(PROCESS_ALL_ACCESS, FALSE, islemKimligi);//tum islemleri manuplasyona acik hale getiriyoruz
if (islemKimligi == NULL)//eger pencerenin islem kimligi dogru gecirilemediyse hata mesaji cikartiyoruz
{
cout << "Islem bulunamadi";
Sleep(3000);
exit(0);//hata oldugu icin 3 saniye bekler ve cikis yapar
}
else
{
while (true)//sonsuz dongu olusturup mermi sayisini surekli yeni degere esitleyip ates etsekte azalmasini engelliyoruz
{
WriteProcessMemory(tutamac, (LPVOID)0x0074A430, ¥iDeger, sizeof(yeniDeger), 0);//(0x0280A430 mermi degiskeninin RAM de tutuldugu yerin adresi bunu CHEAT ENGINE ile buluyoruz) LPVOID de bunun degisken tipi
//writeproccesmemory fonksiyonuyla bu degere yeni degeri yaziyoruz
Sleep(100);//ram de sisme yapmamasi icin ve islemciyi zorlamamak icin sonsuz donguye gecikme ekliyoruz
}
}
}
return 0;
}