folder Tahribat.com Forumları
linefolder Assembly - Reverse Engineering
linefolder Memory Hacking Giriş (Adresses, Pointers, Offsets) - İlk Bakış



Memory Hacking Giriş (Adresses, Pointers, Offsets) - İlk Bakış

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Holyzone
    Holyzone's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 13/Ekim/2008
    Erkek

    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 0x123456 olsun.
    Paramızın offseti 0x123 (Para değerimiz 50.000 olsun)
    Oyun içerisindeki canımızın değeri de 0x456 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;
    "0x123456" + "0x123" = 50.000
    "0x123456" + "0x456" = 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;

    http://www.youtube.com/watch?v=M-sIhDuY_TU

    iyi oyunlar :)

    not: serinin devamında C#, VB ve C++ gibi diller kullanarak bulduğumuz pointer + offset aracılığı ile read/write yapacağız

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aksata
    aksata's avatar
    Kayıt Tarihi: 28/Aralık/2009
    Erkek

    flash oyunda bile hile yapmak... ? eyw. :D


    Bazıları özgürlüğü sadece kendileri gibi düşünenlere reva görüyor...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blitz
    Blitz's avatar
    Kayıt Tarihi: 30/Eylül/2007
    Erkek
    ışte forum içeriğine uygun ve işe yarar bi konu. sonuna kadar takipçinim yılmadan devam hocam.

    validen
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FoKMaN
    FoKMaN's avatar
    Kayıt Tarihi: 15/Haziran/2010
    Erkek

    takipteyim hocam.

    güzel yararlı bir konu devamını bekliyoruz.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    eyuperol
    eyuperol's avatar
    Kayıt Tarihi: 13/Şubat/2011
    Erkek

    takipteyim :)


    İnsanları ( küçük-büyük, yaşlı-genç, tanıdık-tanımadık, eşdost-sevgili vs vs ) sevin, saygınızı gösterin ama kesinlikle insanlara acımayın. Çünkü acıdığınız anda acınacak duruma düşüyorsunuz
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    güzel makale olmuş eline sağlık holy.Sıradakileri takipteyim bende 

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SUPERBICO
    SUPERBICO's avatar
    Kayıt Tarihi: 13/Haziran/2008
    Erkek
    Koxperlar artacak :D
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mustaphachan
    mustaphachan's avatar
    Kayıt Tarihi: 08/Haziran/2009
    Erkek

    ilk +1'mi kaptın hocam :) eline sağlık.


    # birikimini önyargı ve yalanlara hizmet etmek için kullanan kültürlü bir insan olmaktansa maymundan gelmeyi tercih ederim.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    karahanx
    karahanx's avatar
    Kayıt Tarihi: 18/Haziran/2007
    Erkek

    çizdim hocam . faydalı eline saglık


    Hayat Bizi 61 kenara...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Meraclitus
    Meraclitus's avatar
    Kayıt Tarihi: 21/Ekim/2008
    Erkek

    hocam fena olmuş ilerisi gelir inş :)

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    piskopatix
    piskopatix's avatar
    Kayıt Tarihi: 19/Aralık/2009
    Erkek

    Çizik


    Turkish Special Task Forces - Türkiye Fps oyunları derneği. tstfclan.com
Toplam Hit: 8726 Toplam Mesaj: 27