Oyunlarda oyunun orijinal olup olmadığını, aktivasyon anahtarı ile kontrol eden bir sistem olduğunu biliyoruz. Peki cracker'lar oyunu kırmak için aktivasyon anahtarı kısmının olduğu kod kısmını nasıl buluyorlar?Yüksek bütçeli oyunlarda milyonlarca satır kod olduğunu düşünürsek bunu yapmak çok zor gibi görünüyor. Bu zorluğun vazgeçiremediği cracker'lar, oyunları kırmak için birçok yöntem deniyor.
Cracker'ların Kullandığı Oyun Kırma Yöntemleri:
Hex-reading (16’lık sayı sistemi okuma)Hex-editing (16’lık sayı sistemi düzenleme)Debugging (hata ayıklama)KeygenCrack'leme işleminde kullanılan bazı araçlar:
Kernel-mode debuggerDisassemblerHex editorHex-reading (16’lık sayı sistemi okuma)Metot, kaydın nerede gerçekleştirildiğini bulmak ile başlıyor. Örneğin oyun, serial key (seri anahtar) sordu. Anahtar yanlış girildi ve “Yanlış anahtar, tekrar deneyiniz!” uyarısı geldi.
Cracker, yanlış seri anahtar ile gelen kayıt dosyasını hex-reading ile çalıştırıyor. Görüntülenen hata mesajı aranıyor. Böylece yakınlardaki muhtemel seri anahtarlar bulunuyor. Bu anahtarlardan biri girildiğinde oyun crack'leniyor.
Hex-editing (16’lık sayı sistemi düzenleme)Bu yöntemdeki inceleme kısmı hex-reading ile benzer başlıyor. Seri anahtar isteniyor. Böyle bir anahtara sahip olunmadığı için yanlış giriliyor. Yine benzer bir uyarı metni ile karşı karşıya kalınıyor.
Bu uyarı metni kopyalanıyor ve ilgili kod parçasının nerede olduğunu anlamak için Dissembler’da açılıyor. Dissembler; bilgisayar yazılımlarını, daha düşük seviyeli programlama diline çeviren yazılımlardır.
Ardından Dissembler, kodu satır satır gösteriyor. Bu bölüm, kod anahtar girme kısmının atlanacağı şekilde düzenleniyor. Böylece oyun, oyuncunun seri anahtarı doğru girdiğini düşünüyor.
Debugging (hata ayıklama)Her oyunun kodları ve algoritmaları farklıdır. Yani sabit değildir. Bundan dolayı aktivasyon kodunu kontrol eden kısmı kestirmek çok zordur. İlgili kod ancak debugging yöntemiyle erişilebiliyor. Bu yöntem, kodun her adımını takip edebilir. Ayrıca kodu istenen zamanda durdurarak değişkenleri incelenmeye olanak sağlar.
İlk olarak kod parçası çağrılır. Hex-editing yöntemine benzer şekilde karşılaştırma yapılır. Kodun aktivasyon anahtarı kontrolü bulunan kısmı silinir. Böylece bu kısım atlanarak oyun kırılır. Yani oyun, yama ile birlikte oyuncunun anahtarı doğru girdiğini düşünür ve oyun açılır.
KeygenOyun şirketleri çeşitli anahtarları mümkün olduğunca ardışık olmayacak hâlde oluşturur. Bundan dolayı seri anahtarlarını tahmin etmek çok zordur. Keygen metodunda program, seri anahtar tanımlama işleminin formülünü kontrol eder. Dissembling adı verilen bir işlem burada devreye giriyor.
Cracker, seri anahtar girdiğinde programın ne yapması gerektiğini anlar ve formülü alır. Bu elde ettiği formül ile yeni anahtarlar oluşturur. Bu işlem genelde çevrim dışı bir şekilde gerçekleşir.
Oyun, aktivasyon yazılımı anahtarının doğru olup olmadığını kontrol etmek için internete ihtiyaç duyar. Sistem, çevrim dışı olduğundan bu anahtarın doğru olup olmadığını kontrol edemez. Keygen programı, kullanıcının bilgisayarında çalıştırılır ve seri anahtar, formül ile eşleşir; ayrıca yamalı hâle getirilir.
Crack'leme işleminde kullanılan bazı araçlar:Bu konuda başarılı birçok araç bulunuyor. Bu araçların genel özellikleri ise kodu inceleyerek doğru işlemi zamanında yapmaktır. İşte bu araçlardan bazıları sizlerle.
Kernel-mode debuggerCracker, bu aracı kullanmak için bilinçli olarak yanlış bir kayıt kodu girer. Program, nerede hata yaptığını gösterir; bu sayede gerekli kod parçasının yeri tespit edilir. Cracker, bulduğu bu seri anahtar kontrol kodunu yine bu araç ile atlayarak oyunun açılmasını sağlar.
DisassemblerBu araç, kullanıcı yanlış seri anahtar girdiğinde ilgili kodu satır satır görebilir. Böylece formülü bularak bu kurala göre yeni seri anahtarları üretmeye olanak sağlar.
Hex editorProgramlama diliyle yazılan her kod anlık olarak makine diline (1 ve 0 rakamlarından oluşan dil) çevriliyor. Bunlar genellikle on altılık sayı sistemiyle tutuluyor. Bu araç, cracker'ların değerlerde anlık düzenleme yaparak oyunu kırmasını sağlar.