[ Etiketler: cs:go | hile | yapmak | kendi | hilemizi | olusturmak ]
Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
CS:GO HİLE YAPMAK KENDİ HİLEMİZİ OLUŞTURMAK
#1
CS:GO HİLE YAPMAK KENDİ HİLEMİZİ OLUŞTURMAK

Merhaba. Kullandığım public hileyi VAC yakalamaya başladı ve ben de bu sebeple kendi hilemi yapmaya karar verdim. Hilenin başlarını yapmış olsam da ilave edeceğim daha çok şey var. Bu yüzden yeni şeyler ilave ettikçe konuyu da editleyelim.

Evvela söylemeliyim ki bu konuyu anlamak için biraz programlama dili bilgisi (ben C# kullanacağım), biraz da hileler konusunda bilgiye (offset vs.) sahip olmanız gerekiyor. Hileler ile ilgili bilgiye biraz araştırma yaparak erişebilirsiniz.

1) Memory Class'ı Yapımı



Oyunun hafızasından veriyi okuyup, yazmak için bir class'a ihtiyacımız var. Siz isterseniz VAMemory gibi hazır classları kullanabilirsiniz fakat ben VAC tarafından yakalanmamak için yeni bir tane yazacağım.



Memory işlemlerini kernel32.dll'deki ReadProcessMemory, WriteProcessMemory, OpenProcess ve CloseHandle fonksiyonlarını kullanacağız.



Şimdi Memory class'ına constructor ve destructor oluşturalım.



Kod:
public Memory(int processId)
{

  Handle = OpenProcess((uint)0x1F0FFF, false, processId);

}

~Memory()
{

  CloseHandle(Handle);

}

OpenProcess ile gönderilen process ID'ye sahip uygulamayı açıyoruz. Bu verileri ona yazıp okuyacağımız anlamına geliyor.



Veri Okumak



Önce, byteları okumak için bir fonksiyon yazalım, ardından diğer türde veri okurken bunu çeviririz.



Kod:
public byte[] ReadBytes(IntPtr address, int bufferSize)
{
  var buffer = new byte[bufferSize];
  int bytesRead;

  ReadProcessMemory(Handle, address, buffer, buffer.Length, out bytesRead);

  return buffer;
}

Bunda ReadProcessMemory ile veriyi okuduk.



Diğer veri türleri için fonksiyon yazarken de bundan gelen veriyi istediğimiz veri türüne çeviririz. Örneğin ReadInt foksiyonu:

Kod:
public int ReadInt(IntPtr address)
{

  return BitConverter.ToInt32(ReadBytes(address, 4), 0);

}

Bu şekilde Byte veriyi int değerine çevirdik.



Veri Yazmak



Veri yazarken de aynı şekilde önce byteları yazan bir fonksiyon oluşturalım.



Kod:
public vo id Write(IntPtr address, byte[] buffer)
{
  int bytesWrote;

  WriteProcessMemory(Handle, address, buffer, buffer.Length, out bytesWrote);
}

Bunda da WriteProcessMemory ile veri yazdık.



Çevirmeyi veri okurken yaptığımız gibi yapabilirsiniz.



Eğer her şeyi yaptıysanız artık hileyi yapmaya başlayabiliriz.



2) Oyundan Veri Okumak & Yazmak



Veri Okuma



Oyundan veri okurken ve yazarken offset dediğimiz adreslere ihtiyacımız var. Bu adresler sadece güncellemeler ile değişir. Oyunu kapatıp açtığımızda değişmez.



Biz de bu yüzden bu offsetleri kullanıyoruz. ReadInt fonksiyonunda IntPtr değerindeki address argümanına offset girmemiz gerekiyor.



Örneğin LocalPlayer değerini alalım. Ben offsetleri bir class'a yazıyorum. Daha kolay ulaşıyorum. Bu işlem için gerekli offsetimiz:

Kod:
dwLocalPlayer = 0xAAFC3C

Şimdi de client.dll'den veriyi okuyacağımız için client.dll'in adresini alalım.

Kod:
foreach (ProcessModule module in process.Modules) // Process, csgo'nun processi
{
  if (module.ModuleName == "client.dll")
  {
    clientAddress = module.BaseAddress;
  }
}

Bunu da aldığımıza göre yazdığımız ReadInt fonksiyonu ile veriyi okuyabiliriz.

Kod:
mem.ReadInt((IntPtr)(((int)clientAddress) + Offsets.dwLocalPlayer))

Örneğin bu kod bende 1075716016 çıktısını verdi.

Mesela o an hangi tarafta olduğumuzu da öğrenelim. Bunun için offsetimiz:

Kod:
m_iTeamNum = 0xF0

Şimdi de önceden aldığımız LocalPlayer değerinden takım değerini alalım.

Kod:
mem.ReadInt((IntPtr)(localPlayer + Offsets.m_iTeamNum));

Bu da şu an Terörist takımında olduğum için 2 çıktısını verdi. Eğer izleyici olsaydım 1, Terörist olsaydım 2, Anti-Terörist olsaydım 3 olacaktı bu çıktı.



Veri Yazma



Veri yazarken veri yazabileceğimiz bir adrese yazmamız lazım. Ben kullanımı kolay olduğu için forceJump'a yazacağım.



Bunny Hop hilesinde de bunu kullanacağız fakat ben şimdiden gösteriyorum. Bu değer 4 ise zıplamıyoruzdur, 5 ise zıplıyoruzdur.



Durmadan zıplamamız için gereken kodu yazalım.



Kod:
mem.WriteInt((IntPtr)((int)(clientAddress) + 0x4F23F08), 5);
mem.WriteInt((IntPtr)((int)(clientAddress) + 0x4F23F08), 4);

Bunda 5'i +jump, 4'ü -jump olarak düşünün. Bunu bir döngü içine aldığınızda karakter durmadan zıplar.



3) Bunny Hop Hilesi Yapımı



Evet, yukarıda gösterdiğimi biraz daha geliştireceğiz. Öncelikle Space tuşuna basıldığını anlamamız lazım. Bunun için bir çok yöntem kullanabiliriz. Benim kullanacağım yöntem pek iyi bir yöntem değil. Kullanmanızı önermem. Boşuna bellek kullanır.



Ben User32.dll'den GetAsyncKeyState fonksiyonunu kullanacağım.



Kod:
[System.Runtime.InteropServices.DllImport("User32.dll")]
private static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);

Şimdi de Space tuşuna basılıyor mu kontrol edelim.



Kod:
if (GetAsyncKeyState(System.Windows.Forms.Keys.Space) != 0)
{
  //Zıplama komutumuz.
}

Eğer 0 ise Space basılmıyor demektir.



Zıplamayı yaparken ya yukarıdaki kodu kullanabilirsiniz ya da önce veriyi okuyup eğer veri 4 ise 5, 5 ise 4 yazabilirsiniz. 1.'de bazı zıplamaları kaçırabilirsiniz o yüzden 2.'yi tavsiye ederim.



3) Triggerbot Yapımı


Triggerbot, düşman nişangahınızın üzerine geldiğinde otomatik ateş eden bir hiledir. Bunun için iCrosshairId offsetini kullanacağız. Bu adreste nişangahınızı doğrulttuğunuz kişinin numarası bulunur.
Ara
Cevapla
Sponsor Reklam Alanı
 



Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi

Oyun İndirme Yeri - Oyun İndirme Forumu

"Siber Masa Forumunda oyun adına herşey sizleri bekliyor en son çıkan oyunlar, yamalar, crakler, son sürümler, oyun haberleri ve incelemeleri Türkiye'nin En Popüler oyun forumu siber masada!

Gel bugün bize katıl!

  • yeni sözler
  • İçerik sağlayıcı paylaşım sitesi olarak hizmet veren sibermasa.com adresimizde 5651 Sayılı Kanun'un 8. Maddesine ve T.C.K' nın 125. Maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. sibermasa.com hakkında yapılacak tüm hukuksal şikayetleri iletisim linkimizden bize ulaşıldıktan en geç 3 (üç) gün içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek, gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.