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)
Programın en üstüne de bunu eklemeyi unutmayalım:
Program Module Ne Diye Hata Vericektir. Onu da Halledelim. Bunu da RandomString Classının bitişine koyabilirsiniz:
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:
Programın Main'ine Şunu Ekleyelim:
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:
Ş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:
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:
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:
Ş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/
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:
- Ana Menü = 0;
- SIGNONSTATE_CHALLENGE (Bilmiyorum Çünkü Gerek Duymadım)= 1;
- Sunucuya Bağlandı = 2;
- SIGNONSTATE_NEW (Bilmiyorum Çünkü Gerek Duymadım)= 3;
- Yeniden Doğuş = 4;
- Doğma Hali = 5;
- Oyunu Oynuyor = 6;
- 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: