Onaylı Üye
Yoğun bir ilginin olduğu bu konu hakkında küçük bir bilgilendirme yapmak istedim. Şahsen bende bu yaptıklarımı daha bugün öğrendim, öğrendikçe de burada paylaşacağım. İlgili kod ve açıklayıcı yorum satırlarıyla birlikte aşağıya bırakıyorum.(Hacklenen oyun AssaultCube söz konusu oyun bu işleri öğrenebilmemiz için uygun bir yapıya sahip herhangi koruma anticheat vs bulunmuyor) Kodu kopyala yapıştır yaparsanız çalışmaz arkadaşlar. Sebebini hemen açıklayalım. Oyunu her açtığınızda mermi değişkeninin işaretçisi(pointer ı) ramde farklı yere yazılacaktır her seferinde oyun açıldıktan sonra cheat engine ile yerini bulmanız gerekmekte. Bu tabiki düzeltilebilir yani programa her seferinde mermi değişkenin ramdeki yerini bulmayı da öğretebiliriz. Şunu unutmamak lazım yürümeden koşamayız.
Sizleri kodla başbaşa bırakıyorum iyi forumlar
İlgili oyuna
Kod bana aittir alıntı değildir gereksiz yorumları reportluyorum bilginizee
C++:
#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;
}
İlgili oyuna
Bağlantıları görmek için lütfen
Giriş Yap
adresinden ulaşabilirsiniz anlaşılmayan yerler için yorum yapabilirsiniz elimden geldiğince açıklamaya çalışırım. Kod bana aittir alıntı değildir gereksiz yorumları reportluyorum bilginizee