"DYNOMITE"

Mr_Stop
Program Url: http://www.popcap.com
Program Tipi: Oyun
       Araçlar:
 GameHack, OlyDebug, MASM32 
Basit ()  Orta (x)  Zor (x )  Pro ( ) 

Başlangıç

Biliyorum kaç zamandır yazı yazmıyorum.Fakat şu aralar aşırı derece meşgulüm ve crack yapmak eskisi gibi zevk vermiyor.Eskinde bir program karşısında saatlerce uğraşabilirdim.Şu an eğer program biraz zor sa hemen sıkılıp bırakıyorum.Neyse bugün amois bana bir oyunu tavsiye etti.Hakkaten zor ve zevkli bir oyun.Ben pek de iyi oyun oynuyamam o yüzden rekorum 5200 dü en son bıraktığımda.amois in 113000 lük rekorunu duyunca bende dayanamadım bari hile ile yeniyim dedim.GameHack ile hile yaptım.Çok da güzel çalıştı.Baktım bu iş çok zevkli trainer nasıl yazılır bir deniyelim dedim.İşte sonuç.

Not: GameHack kurulurken msvcrt.dll yi değiştiriyor.O yüzden bazı problemlerle karşılaşabilirsiniz.Bunu çözmek için ya msvcrt.dll nin baştan yedeğini aln yahut da Adobe Acrobat Reader 4.0 veya üstünü yükleyip restart atın.

Yazı

İlk olarak programın neresini değiştirmek istediğimizikara vericez ve bu adresleri bulucaz.Dynomite yu açıyoruz.New Game/Endless puzzle/Hardı seçiyoruz.Şimdi bir sayı yapıyoruz ve soldaki pause tuşu ile oyunu durdurup,GameHack ı açıyoruz.GameHackı açtıktan sonra process tuşuna basıp Dynomite yi seçiyoruz.

Şimdi search butonuna tıklıyıp o an için ne kadar sayı yaptıysak onu arıyoruz.Benim ilk sayım 80 di o yüzden ben 80 i arıyorum.

Arama sonucunda muhtemelen çok fazla sonuç çıkacaktır ve size Too many result gibi bir şey diyebilir.Yine bir sayı yapın ve Next search butonuna tıklayarak bulunan değerler içinde yeni yapılan sayıyı arayın.

Şimdi mutemelen sadece iki tane adres bulacaktır.Bulunan adreslerin üstüne çift tıklayın ve aşağıdaki listeye inmelerini sağlayın

Şimdi aşağıdaki iki adresteki değerleri değiştirmeye çalışın.Bulardan bir tanesini değiştirdiğinizde oyundaki puanınızın arttığını göreceksiniz.Biz bunu artık puan adresi diye çağırıcaz.Normalde GameHack ile bu cheati saveliyebilir ve sonra kullanabilirsiniz.

Fakat şimdi durumlar biraz karışık.Dikkat ederseniz bulunan adresler bizim exenin imagebase+imagesize'ın ötesinde bir yerde yani bu adres muhtemelen exe tarafından oluşturulan bir memory.O yüzden değiştirilecek sabit bir adres yok.Bizim trainerın bu adresi dinamik olarak hesaplaması lazım.Sonuçta program mutlaka bu adreslerin yerlerini bir adreste tutuyor ve skoru yenilemek istediğinde, sakladığı yerden oluşturulan memory bölgesinin adresini alıyor ve skoru yeniliyor.

Şimdi OlyDebug'u açın.Daha sonra File/Attach ile Dynomite.exe ye attach edin.Daha sonra alttaki dump penceresinin üstüne gelin sağ tuşa tıklayın ve Goto Expression'ı seçin.Karşınıza gelen diyaloga yukarıda bulduğumuz puan adresinin değerini yazın.

OlyDebug o adrese gittiğinde,alttaki dump penceresinde yine sağ tuşa yıklayın ve Breakpoint/Memory on write ı seçin.Daha sonra F9 a tıklayın.Şimdi zor da olsa bir sayı daha yapın.Olydebug siz sayı yaptığınız anda duracaktır.Karşınızda şöyle bir şey olacak.

.text:004055B0                 call    sub_42CA30
.text:004055B5 mov ecx, [ebp+4Ch] ; ecx=4AB740h
.text:004055B8 mov eax, [ecx+17A8h]; 4AB740h+17A8h=4ACEE8h allocated memory
.text:004055BE mov ecx, [eax+5Ch] ; eski puanı al
.text:004055C1 add ecx, ebx ; yenisini ekle
.text:004055C3 mov [eax+5Ch], ecx ; skoru güncelle

ebp+4Ch daki dword değerlerine bakarak yukarıdaki sonuçları sizde kolaylıkla çıkarabilirsiniz.Şimdi trainerımızı nasıl kodlıycaz ona gelelim.

  1. Öncelikle bir timer ekliycez bu belli zamanlarda F12 tuşuna basılıp basılmadığını kontrol edicek.
  2. Eğer tuşa basılmışsa oyunun penceresi bulunacak ve bu pencere yardımı ile process idsi bulunacak
  3. Process id ile process okuma ve yazma hakkıyla açılacak.
  4. 4ACEE8h adresindeki alloce edilen memoryi oku
  5. okunan bu değerin 5Ch ötesindeki skoru oku
  6. Skora 100 puan ekle ve skoru yeninden processe yaz.

Bu şekilde trainerımız servise hazır, sıcak sıcak tüketin.

Trainer+kaynak kodu (ASM32)

Son Notlar

Bö!