C++ İle Hile Programlama

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
28 Mar 2019
Mesajlar
111
Çözümler
1
Tepki puanı
17
Ödüller
5
Yaş
29
7 HİZMET YILI
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:)
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, &yeniDeger, 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 :)
 
Onaylı Üye
Katılım
2 Şub 2018
Mesajlar
107
Çözümler
2
Tepki puanı
2
Ödüller
6
Yaş
26
8 HİZMET YILI
hileleri böyle yapıyorlar demek iyimiş
 
Onaylı Üye
Katılım
28 Mar 2019
Mesajlar
111
Çözümler
1
Tepki puanı
17
Ödüller
5
Yaş
29
7 HİZMET YILI
Onaylı Üye
Katılım
23 Ocak 2016
Mesajlar
83
Tepki puanı
4
Ödüller
10
10 HİZMET YILI
Krdsm bende yeni girdim c++ eğer istersen beraber hem öğrenip hem birşeyler yapabiliriz
 
Süper Üye
Katılım
1 Tem 2018
Mesajlar
617
Çözümler
18
Tepki puanı
39
Ödüller
7
Yaş
26
7 HİZMET YILI
Kodlar için teşekkürler daha çok gelişirsin mutlaka
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst