C# CS:GO Hile Kodlama Part 4 - Oyundan İlk Veri Çekimi!

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
CoreCheat CSGO
Griffin Premium
Katılım
10 May 2016
Mesajlar
1,766
Çözümler
5
Tepki puanı
720
Ödüller
14
Yaş
25
Sosyal
10 HİZMET YILI
Selamlar arkadaşlar ben aTaRLı RePçİ ReiS cYLoPsSsSs.

Bu Gün Sizlerle:

(Bölüm 7) Oyundan Veri Çekimi ve Kontrolü:

İlk Olarak, Biz Bazı İşlemler Yaptırıyoruz. Fakat bunlar CS:GO üzerinden değil bazı libraryler üzerinden çalışıyor kısaca açıklayalım.

Client.DLL => Kendi kullanıcınız ile alakalı işlemler buradan yaptırılır. Kendi kullanıcımız ile alakalı ne olursa!

Engine.DLL => Kullanıcımız ile alakası pek olmayan ServerSide kontrollü şeyler için bu minnoş arkadaş kullanılır.

Şimdi bizim bu 2 arkadaşı da CS:GO beyciğimin içinden çekmemiz gerekiyor. Bunu, nasıl yapacağız. Kodlar Gelsin!

İlk olarak Main ile Program kısmının arasında (Program classının içinde olacak yani o şekilli şukullu parantezin içinde)
C#:
public static Module clientModule = new Module("client.dll");
public static Module engineModule = new Module("engine.dll");
public static int Client

Programın en üstüne de bunu eklemeyi unutmayalım:
C#:
using System.Diagnostics;

Program Module Ne Diye Hata Vericektir. Onu da Halledelim. Bunu da RandomString Classının bitişine koyabilirsiniz:

C#:
 public struct Module
        {
            public string moduleName;
            public int moduleAddress;
            public bool fp;
            public Module(string moduleName_)
            {
                moduleName = moduleName_;
                moduleAddress = 0x000000;
                try
                {
                    Process[] p = Process.GetProcessesByName("csgo");

                    if (p.Length > 0)
                    {
                        foreach (ProcessModule m in p[0].Modules)
                        {
                            if (m.ModuleName == moduleName_)
                            {
                                moduleAddress = (Int32)m.BaseAddress;
                               
                                fp = true;
                            }
                        }
                        fp = true;

                    }
                    else
                    {
                        fp = false;
                    }
                }
                catch
                {
                    fp = false;
                }
            }
        }

Burada toplam 2 kodda Modülün ne olduğunu belirttik ve csgo'dan çektiriliceğini söyledik.

Şimdi Modül Adreslerini Çekme Zamanı :)
Module Classının bitişine bu kodu yazabilirsiniz:

C#:
public static bool GetModuleAddress()
        {

            try
            {
                Process[] p = Process.GetProcessesByName("csgo");

                if (p.Length > 0)
                {
                    foreach (ProcessModule m in p[0].Modules)
                    {
                        if (m.ModuleName == "client.dll")
                        {
                            Client = (int)m.BaseAddress;
                            return true;
                        }
                    }

                    return true;
                }
                else
                {
                    Console.WriteLine("not found.");
                    return false;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return false;
            }
        }

Programın Main'ine Şunu Ekleyelim:
C#:
GetModuleAddress()

Böylece program başladığında bu bool da setlenmiş olucak ve diğer hilelerimizin kontrolünde kullanabileceğiz :)

Artık Hilemizin Bütün Modülleri Tanımlı. Haydi İlk Verilerimizi Yazdıralım.
Ne diyorsunuz? Hadi Oyunda Kullanıcımız Ne Durumda Bunu Göstertelim. İlk olarak değerleri Bilmemiz Gerekiyor. Çıkıt Bize Şunları Vermeli:
  1. Ana Menü = 0;
  2. SIGNONSTATE_CHALLENGE (Bilmiyorum Çünkü Gerek Duymadım)= 1;
  3. Sunucuya Bağlandı = 2;
  4. SIGNONSTATE_NEW (Bilmiyorum Çünkü Gerek Duymadım)= 3;
  5. Yeniden Doğuş = 4;
  6. Doğma Hali = 5;
  7. Oyunu Oynuyor = 6;
  8. Map Değişiyor = 7;

Şimdi Kodlarımızın Yazımına Geçelim. Bundan sonra 1-2 kod daha atıcam fakat sonrasında artık sırf anlatımlarla beraber olacağız. Çünkü hazırcılığı pek sevmem. Kendiniz Araştırmalısınız!

Kodlarımızı Hazırlayalım. VAMemory'yi hatırlarsınız bizim RWM Kontrolcüsü. Onu kullanmaya başlayacağız...
İlk olarak VAMemory'nin ayarlarıını yapmalıyız. Başlayalım...
Değişkenleri Tanıttığımız kısma şunu da ekliyoruz:
C#:
public static VAMemory vam = new VAMemory("csgo");

Böylece VAM'a CS:GO yu hedef alması gerektiğini söyledik. Artık VAM CS:GO üzerinden çalışıcaktır...

Şimdi Main'e Geliyoruz ve 2 tane integer oluşturuyoruz:
C#:
int EngineBase;
int GameState;

Yani 2 değer oluşturduk ve içlerine 0 verisini koyduk. Şu anda boşlar anlayacağınız.

Şimdi Main'e bir while döngüsü açıyoruz. Bunu yaptıktan sonra bunu okuyun:
Hile yapımında pointerlar birbirlerine eklenir ve hedeflere ulaşılır. Yani örneğin eldeki silahı görmek için Client.DLL 'e LocalPlayer eklenir LocalPlayer'e ActiveWeapons Eklenir o veride değişiklikler yapılıp WeaponDefID Konulur. Böylece Silahın ID'sine ulaşılır. Buna benzer bir şey yapacağız. İlk olarak sormamız Gereken:

Aradığımız Şey Kimin İle İlgili?
Server / Kullanıcı

Serverde Ne Arıyoruz?
Oyun durumunu

Elimizde bunun Pointer'ı Var Mı?
Evet: ClientBase_State

Yani şimdi başlayabiliriz. Biz Integer Değer Okuyucaz Yani Sayı Değeri. Diğer değer türlerine sonra gelicem...
Yani "vam.ReadInt32()" komutuyla DWORD Değer Aratıyoruz.

Hadi Bunu koda Dökelim. Elimizde pointerlar var
dwClientState = 0x57F84C;
dwClientState_State = 0x108;


Şimdi, bu kodları az önce oluşturduğumuz while döngüsünün içine yerleştirelim:
C#:
while (true)
{
    EngineBase = vam.ReadInt32((IntPtr)engineModule.moduleAddress + 0x57F84C);
    GameState = vam.ReadInt32((IntPtr)EngineBase + 0x108);
    Console.Clear();
    Console.WriteLine(Convert.ToString(GameState));
}

Şimdi CS:GO'yu Açıp Programı Başlatalım. Program Size Çıktıları Sürekli Yazdırmaya Başlayacaktır. Sizler de ana menüden oyuna doğru girerek bunu test edebilirsiniz. İyi Hileler Bir Sonraki Partta Görüşmek Dileğiyle...

Part 1 => https://memoryhackers.org/konular/c-cs-go-hack-kodlama-part-1-baslangic.55914/
Part 2 => https://memoryhackers.org/konular/c-cs-go-hack-kodlama-part-2-mekanikler-ve-external.55917/
Part 3 => https://memoryhackers.org/konular/c-cs-go-hack-kodlama-part-3-externalin-kalbi.55954/

Bir Sonraki Part => https://memoryhackers.org/konular/c-cs-go-hack-kodlama-part-5-veri-setleme.56011/
 
Son düzenleme:
Banlı Üye
Katılım
11 Ocak 2016
Mesajlar
142
Tepki puanı
19
10 HİZMET YILI
Diğer partlar forumda hala mevcut mu ?
 
Üye
Katılım
30 May 2018
Mesajlar
28
Tepki puanı
0
Yaş
24
8 HİZMET YILI
MSJ okudum Bosver sen Hileyi kullanmayı bılmıyolar Sonra yok calısmıyo etmiyo fix yedi Virüs Var Vac yedim Tabi yersein izleme duvarı yerini bil yeter Sen Devam Et reis arkandayız :) @cylops
 
Uzman Üye
Katılım
19 Mar 2016
Mesajlar
257
Tepki puanı
34
Yaş
16
10 HİZMET YILI
Moruk Kullandıgın Programı Sorabilirmiyim ?

Ve CESEGOM Yok İnternetteki CS:GO Dan Yapabiliyozmu Bu Şeyi :D

Bide Temel Bilgi Lazımmı Mesela Hiç Bİlmiyom C# Başlayabilirim Demi ?
 
Süper Üye
Katılım
3 May 2018
Mesajlar
609
Çözümler
10
Tepki puanı
42
Ödüller
7
Yaş
25
8 HİZMET YILI
thank you for the information may health to your hand
 
Acemi Mühendis
Seçkin Üye
Katılım
12 Nis 2018
Mesajlar
350
Çözümler
2
Tepki puanı
65
Ödüller
7
Yaş
30
8 HİZMET YILI
Hile kodlamak istediğim oyun için kullanacağım bu mantığı. Teşekkürler :)
 
Biz Her Zaman Burdaydık Zaten. Siz Geç Geldiniz
Emektar Üye
Katılım
25 Ocak 2017
Mesajlar
1,733
Çözümler
510
Tepki puanı
771
Ödüller
15
Sosyal
9 HİZMET YILI
Biraz kafamı yorsam yaparım aslında bende esp box esp line den falan başlıcaktım iyi oldu bu saol
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst