Başlangıç > Assembly, Dökümanlar, Microsoft Windows, Saldırı teknikleri > Memory Hacking giriş (Adresses, Pointers, Offsets)

Memory Hacking giriş (Adresses, Pointers, Offsets)

Merhaba arkadaşlar,

Code cracking, reverse engineering, game hacking gibi konuların tekrardan konuşulur hale gelmesi için böyle bir aksiyon başlatmaya karar verdim 🙂 Umarım uzun ve katılımın bol olduğu bir seri olur.

Eğer game hacking, code cracking gibi konular size gerçekten çekici geliyor ve ben de 1-2 şey yapmak istiyorum diyorsanız dikkatlice okuyun. Bu yazıdaki konum Game hackingin temel mantığı ve başlangıç terimleri üzerine olacaktır.

Belkemiğimiz Memory;
Memory bir oyunun ramde kapladığı yere denir. Geçici değerlerin saklandığı adres aralığıdır. Geçici adresler bizim oyun içerisinde ölümsüz olmamıza, sınırsız paramızın olmasına ve aklınıza gelecek birçok değer ile oynamamızda yardımcı olur.

Cheat engine bu değerleri saptamamızda yardımcı olacak olan kullanımı basit olan bir programdır. Zaten çoğunuzun kullandığına da eminim 🙂

Örneğin; oyun içerisinde 50.000 paramız var. Cheat Engine  ile adressini tespit edip değeri 999.999 yaptık diyelim. Eğer oyunumuz MultiPlayer oynanan bir oyun değilse yani değerler sadece bizde varsa değişiklik başarıyla gerçekleşecektir. Fakat oynadığımız oyun MMO(Massive Multiplayer Online) türü bir oyunsa işlem bu kadar basit olmayacaktır. MMO oyunlarda bilgiler server tarafında depolanır yani server side. Serverda paranız, canınız, oyun içi değerleriniz gibi değerler hilenin önüne geçmek için saklanır. Şöyle bir örnek vereyim oyun içerisinde markette 60.000 para değerindeki bir eşya gördünüz ve almak istiyorsunuz fakat sizin para değeriniz 50.000. Cheat engine’i açıp para değerinizi 70.000 olarak değiştireceksiniz ve başarılı bir şekilde değiştini göreceksiniz fakat markete gidip istediğiniz item’i almaya çalışıp alamayınca hayal kırıklığına uğramayın 🙂 Çünkü oyun içi para önemli bir değer olduğu için server side bir bilgidir server tarafından bilinir. Kısacası MMO oyunlarda serverin bildiği değerler üzerinde oynayamayız. (Fakat online oyunlarda paketler yollayarak hile yapmak mümkün olacak. İlerki yazılarda göreceksiniz)

Bahsettiğimiz Para, can, oyun içi değerler memorydeki adresslerde depo edilir. Çoğu kişi buraya kadar tamamdır ama bu noktadan sonra kopar 🙂 Fakat bu yazıdan sonra sıkıntınız kalacağını sanmıyorum. Memory içindeki adressler değişkendir uygulamayı kapatıp, açtığınızda adresslerin kısmen* değiştini bulduğunuz eski adresslerin hiçbir önemi olmadığını göreceksiniz. Bu noktada anahtarımız Pointer!

Pointer;

Türkçe karşılığı işaretçidir, adından da anlayacağınız üzere bizlere bişeyleri işaret eder 🙂 Uygulamayı aç-kapa işleminden sonra adreslerin değiştiğini söylemiştik. Değişen adresi tekrar tekrar aramamız için pointer bize sunulan bir nimettir. Pointer oyuna yama gelmediği, exe değişmediği sürece kesinlikle değişmez. Yani uygulamayı aç kapa yapsanız bile değer geçerli olacaktır. Pointer bize değişen adresleri işaret eden temel bir adresdir. Bu temel adres üzerinden istediğimiz değere gitmemize yardımcı olacak olan değer ise offsettir.
Pointer + offset bize değişen değeri işaret eder.

Örneğin pointerimiz, temel adresimiz 0×123456 olsun.
Paramızın offseti 0×123 (Para değerimiz 50.000 olsun)
Oyun içerisindeki canımızın değeri de 0×456 olsun. (Oyun içindeki healthımı da 100 olsun)
Pointer + Paramızın offseti bize değişen paranın değerini verecektir, şöyle ki;
“0×123456″ + “0×123″ = 50.000
“0×123456″ + “0×456″ = 100

İşin güzel yanı pointer ve offseti bir kere bulmak yeterlidir 🙂 Oyuna bir yama gelmediği sürece pointer ve offset değişmez.

Şimdi sizlere bir video aracılığı ile Pointer ve offset’i nasıl bulacağınızı göstereceğim;

Kaynak: http://www.selimonder.com

Reklamlar
  1. Aytozan
    24/04/2013, 14:12

    çok saolun yararlı

    Beğen

  2. 17/10/2014, 12:46

    cheat engine de aradığımız offset 0 ise nasıl bulmamız gerekir ? veya hiç bir değer yok mesela tek bir itemi çoğaltma trina gibi çünkü trina üst üste gelmiyor bunu için yapmamız gereken nedir sürekli internette araştırıyorum ve bulduğum bilgiler sadece offseti deneyerek bulma bunun farklı bir çözüm noktası var mı?

    Beğen

  3. 14/11/2015, 17:12

    Merhaba kolay gelsin videoyu izledim ve bir kaç sey sorucam acaba bana ulasabilmenız mumkunmudur ?
    https://www.facebook.com/ForzaAdanaDemir

    Beğen

  1. 30/08/2011, 12:32

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: