[SERİ] Reality Cheats Akademi: Hile Nedir? Neden C++? #2

Lady Darknes

swansizz
Reseller
Katılım
23 Mar 2021
Konular
88
Mesajlar
1,843
Çözümler
19
Tepkime puanı
1,173
Konum
Istanbul
Web sitesi
github.com

Bölüm 2: Temel Kavramlar – Hile Mantığı ve Neden C++?​

Tekrar selamlar, serinin bu bölümünde işin biraz daha teorik ama en önemli kısmına giriyoruz. Kod yazmaya başlamadan önce neyi, neden yaptığımızı anlamamız gerekiyor.

(Not: Bu bölümdeki anlatım akışında, ifadeleri daha nizami bir hale getirmek için yine yapay zekadan destek aldım. Teknik bilgiyi en sade ve anlaşılır şekilde size sunmak istiyorum.)

1. En Temel Soru: Hile Nedir?​

Teknik olarak baktığımızda hile; bir oyunun veya yazılımın, geliştiricisinin belirlediği sınırların dışına çıkarılması işlemidir. Oyunlar çalışırken bilgisayarınızın RAM (bellek) dediğimiz kısmında veriler tutar. Örneğin; can değeriniz "100" ise, bu "100" sayısı bellekte bir adreste (address) saklanır.

Hile kodlamak, bu bellek adresini bulup oradaki "100" değerini "999" ile değiştirmekten ibarettir. Yani biz aslında bilgisayarın hafızasına müdahale eden küçük operasyonlar yapıyoruz.

2. Yazılım Dilleri Nedir?​

Bilgisayarlar aslında sadece 0 ve 1'lerden anlar. Yazılım dilleri ise bizim bilgisayarla konuşmamızı sağlayan tercümanlardır.

  • Yüksek Seviyeli Diller (Python gibi): İnsan diline çok yakındır, yazması kolaydır ama bilgisayarın derinliklerine inmekte hantaldır.
  • Düşük Seviyeli Diller (Assembly gibi): Bilgisayarın donanımına çok yakındır ama yazması ve öğrenmesi aşırı zordur.

3. Neden C++? (Hile Dünyasının Vazgeçilmezi)​

Hile kodlamada neden Python veya C# değil de C++ kullanıyoruz?:

  • Hız ve Performans: C++, sistem kaynaklarını en verimli kullanan dillerden biridir. Saniyeler içinde binlerce bellek adresini taramanız gerekebilir; C++ bunu tereyağından kıl çeker gibi yapar.
  • Bellek Yönetimi (Memory Management): C++, bellek üzerinde tam kontrol sağlar. Bellekteki bir adrese doğrudan erişebilir, orayı okuyabilir veya değiştirebilirsiniz. Diğer diller (C#, Java vb.) güvenlik gerekçesiyle sizi bellekten uzak tutmaya çalışırken, C++ size "anahtarlar sende" der.
  • Windows API Uyumluluğu: Çoğu oyun Windows üzerinde çalışır. Windows'un kalbine (kernel, process işlemleri vb.) girmek için kullanılan fonksiyonların çoğu C++ ile en uyumlu şekilde çalışır.
  • DirectX ve Grafik Desteği: Oyun içi menüler (ESP, Wallhack çizgileri) genellikle DirectX kullanır ve C++ bu kütüphanelerle doğrudan konuşabilir.
Özetle: C++ öğrenmek başta biraz zordur, kabul ediyorum. Ama bu dili öğrendiğinizde sadece hile yazmayı değil, bilgisayarın nasıl çalıştığını da öğrenmiş olursunuz.


Bölüm 3: Değişkenler ve Bellek (Memory)​

Değişken Nedir?​

Bir değişken tanımladığınızda aslında işletim sistemine gidip şunu dersiniz: "Bana RAM'de şu kadar yer ayır, içine de şu etiketi yapıştır." Hile yaparken aradığımız "Can", "Mermi" gibi değerlerin her biri aslında RAM'de birer değişkendir...

1. Tam Sayılar (int, short, long)​

Hile aratırken (örneğin Cheat Engine kullanırken) "4 byte" veya "2 byte" seçeneklerini görmüşsünüzdür. İşte bunlar C++'taki veri tipleridir:

  • int: Genelde 4 byte yer kaplar. Standart tam sayılar için kullanılır.
  • short: 2 byte yer kaplar. Küçük sayılar için hafıza tasarrufu sağlar.
  • long long: 8 byte yer kaplar. Çok devasa sayılar (örneğin bir oyunun toplam tecrübe puanı) için kullanılır.

(Bunları ezberleminize gerek yok, zamanla burada yazacağım her şey sizin kas sisteminize girecek ve türkçe okur yazar gibi hissedeceksiniz...)


Örnek Kullanım:

C++:
#include <iostream>


int main() {

    int yas = 25; // 4 byte yer kaplar

    short kapiNo = 12; // 2 byte yer kaplar

    long long dunyaNufusu = 8000000000LL; // 8 byte



    std::cout << "Yas degiskeninin bellekteki boyutu: " << sizeof(yas) << " byte" << std::endl;

    return 0;

}

2. Ondalıklı Sayılar (float, double)​

Oyunlardaki koordinat sistemleri (X, Y, Z) genelde ondalıklıdır.

  • float: 4 byte yer kaplar. Yaklaşık 7 basamak hassasiyeti vardır.
  • double: 8 byte yer kaplar. Çok daha hassastır (15-17 basamak). Modern sistemlerde güvenlik ve hassasiyet için genelde bu tercih edilir.

3. Karakterler ve Mantık (char, bool)​

  • char: Sadece tek bir karakter tutar (1 byte). Aslında bilgisayar bunu bir sayı olarak saklar (A=65 gibi).
  • bool: Sadece true (1) veya false (0) değerini alır. "Ölü mü?", "Admin mi?" gibi kontrollerde kullanılır.

C++'ın Tehlikeli Detayı: Garbage Value (Çöp Veri)​

C++'ta bir değişkeni tanımlayıp ona bir değer vermezseniz, içinde "çöp veri" kalır. Yani o bellek adresinde daha önce başka bir programdan ne kaldıysa onu okursunuz. Bu durum hile kodlarken beklenmedik hatalara (crash) yol açabilir.

Kötü Kullanım: int puan; -> İçinde -1928374 gibi saçma bir sayı olabilir.
Iyi Kullanım: [/SIZE][/B][SIZE=4]int puan = 0;[/SIZE][B][SIZE=4] -> içine hali hazırda bir veri ayırdığınızdan, windows garbage veri saklamaz hedef adreste.


Çözemediğim veya yardım istediğim bir sorunum daha var. Ne yapmalıyım?​

Hayatınızda ilk kez yazılımla uğraşıyorsanız elbette aklınızda bir sürü delice sorunuz olacaktır; size önerim hatalarınızı veya bilmediğiniz örneğin "Bir output nasıl oluşturum?" gibi sorularınızı birinden cevap beklemek yerine internette;
veya yapay zeka gibi araçları kullanarak çözüme ulaşabilirsiniz, size burada elinizle kalemi nasıl tutacağınız öğretmeyeceğim.

Sıra Sizde: İlk Göreviniz!​

Buraya kadar okuduysan şimdi kendi başına bir şeyler karalama vakti. Senden şunu istiyorum:

  1. Bir kişinin adının baş harfini tutan bir char,
  2. Yaşını tutan bir int,
  3. Boyunu tutan bir double (örneğin 1.85) tanımla ve bunları ekrana yazdır.

Ipucu: C++'da input/output yapmak için Standard Library içinde yer alan "iostream" kütüphanesiyle yapılır. Monitöre metin yazdırma ve kullanıcıdan klavye girişi alma işlevlerinin gerçekleştiği kütüphanedir. Daha fazla bilgi için BKZ: 0.5 -- Introduction to the compiler, linker, and libraries

Çözüm:

C++:
#include <iostream>

int main() {
    int yas;
    char isim;
    double boy;
    std::cout << "Lütfen Adınızın ilk harfini giriniz: \n";
    std::cin >> isim;
    std::cout << "Lütfen yaşınızı giriniz: \n";
    std::cin >> yas;
    std::cout << "Lütfen boyunuzu '.' kullanarak giriniz (örn: 1.75): \n";
    std::cin >> boy;
    std::cout << "Adınızın ilk harfi: "<< isim << " Yaşınız: " << yas << "Boyunuz: \n"<< boy;
    return 0;

}


Şimdilik bu kadar... Takipte kalın!
 

rqwenight31

Active Member
Katılım
25 Şub 2026
Mesajlar
9
Tepkime puanı
0
Oyun hilesi, bir video oyununun normal işleyişini, kurallarını veya sınırlarını manipüle ederek oyuncuya haksız bir avantaj sağlayan yöntemlerdir. Bu yöntemler bazen oyunun kendi içine geliştiriciler tarafından yerleştirilir, bazen de dışarıdan müdahale ile eklenir.
 

by1ero

Rengoku
Insider
Katılım
15 Haz 2025
Konular
13
Mesajlar
297
Çözümler
4
Tepkime puanı
68
Web sitesi
guns.lol
teşekkürler swansizz zaten python ve c++ öğrenmeye çalışıyordum yardımcı oldu
 

Üst