Onemli .! Temel Cracking...!**Resimli Anlatim...
F3do :: Programlar :: Crack
1 sayfadaki 1 sayfası
Onemli .! Temel Cracking...!**Resimli Anlatim...
İnternetten veya elimizdeki bir CD’nin içeriğinden bir programı
bilgisayarımıza yüklüyoruz ve programı ilk çalıştırdığımızda bunun bir
Demo veya Shareware sürüm olduğu söyleniyor. Yani kısıtlı kullanım
haklarına sahip ya da bize birkaç gün süre verilip denememiz isteniyor.
Sonuç olarak programın tam sürümü ücretli ve lisans gerektiriyor. Peki
biz bu programı ücret ödemeden de tam sürüm haline dönüştürebilir miyiz
?
Eğer cracking hakkında bilgiye sahipseniz cevap evet olabilir. Peki bu iş nasıl yapılıyor ?
Başlarken belirtmeliyim ki bu iş göründüğü kadar kolay değil, sabır ve
bilgi gerektirir. İlk önce bir programın çalışma mantığını anlayalım.
Herhangi bir yüksek seviyeli programlama diliyle yazılmış bir program
çalıştığı zaman bunun bilgisayar tarafından okunması için kodların
düşük seviyeli (makine dili) dile çevrilmesi lazımdır. Çünkü bilgisayar
işlemcisi ancak makine dilini okuyabilir. Onaltılık sayı düzenindeki
kodları ikilik düzene çevirilir (1 ve 0) ve işlemci bunu yorumlayarak
programı çalıştırır. İşte burada Assembly devreye girer. Makine dili
çok zor olduğu için Assembly geliştirilmiş ve kullanılmaktadır. Bu
yüzden bir programı kırmak istiyorsak Assembly dilini çok iyi derecede
bilmemiz gerekmektedir.
Şimdi bir programı nasıl kıracağımızı düşünelim. Diyelim ki shareware
olan bir programı çalıştırdık ve karşımıza “30 gün deneme süreniz var”
şeklinde bir mesaj geldi ve tam sürüm programa sahip olmak istiyorsak
bir anahtar (serial) girmemiz gerektiği söyleniyor. Bizim yapacağımız
şey program kodlarından bu hatayı verdirten bölümü bularak kendimize
ait bir serial’ı oluşturmak, bir patch (yama) yardımı ile programı tam
sürüm haline getirmek ya da programın 30 günlük deneme hakkını uzatmak.
Bunu yapmak için 2 yöntem kullanılabilinir. Ya program çalışmıyorken
tüm kodları baştan sona tarayıp işimizi yapmak, buna dead list yöntemi
de deniyor, ya da program çalışır vaziyetteyken bir hata ayıklayıcısı
(debugger) yardımıyla o andaki kodlara bakılarak sonuca ulaşmak. Yani
yapacağımız şey tersine mühendisliktir.
Bunları yaparken bazı araçlara ihtiyacımız olacak. Mesela işlemleri
yapabilmek için öncelikle programı Assembly diline çevirmeliyiz bunun
için bir Disassembler programı, içeriklerini görmemiz için ise bir HEX
editör kullanabiliriz. Disassembler’a örnek olarak Win32Dasm
verebiliriz. HEX editörler için ise çok fazla seçenek var, eskiler Hex
Edit, HIEW, WinHex gibi programları kullanırdı şuanda internette daha
geniş ve detaylı HEX editörleri mevcut.
BAKINIZ...
Bir Disassembler örneği, Putty programı üzerinde çalışıyor.
Debugger’lar yani hata ayıklayıcı programlar ise kırmaya çalıştığımız
program çalışırken yaptığı işlemleri görmemizi sağlar. Bu yöntem daha
fazla deneyim gerektirir fakat bizi tüm jump ve call komutlarını
detaylı analiz yapmaktan kurtarır. En çok bilinen debugger programı
Soft-Ice’tır. Program çalışırken Soft-Ice ekranına geçtiğimizde durak
noktaları tespit etmemiz gayet kolay olacaktır.
BAKINIZ...
Soft-Ice ekranı
Gerekli araçları edinmiş ve yeterince bilgiye sahipsek bundan sonrası
tamamen crack olayını yapan kişinin yaratıcılığına bağlıdır. Bu işin
bir tertibi olmamakla beraber aynı programı onlarca değişik yöntem ile
kırabiliriz. “30 günlük deneme” hakkı veren program örneğine geri dönüp
basitçe anlatmak istiyorum, bunu yaparken işin detaylarına girmeyeceğim
çünkü eğer bu konu hakkında yeterince bilginiz yoksa kafa
karıştırmaktan başka bir işe yaramayacaktır.
Öncelikle program başlarken nasıl çalıştığını ve neler yaptığını
anlamamız lazım. Bunun için programın Call Flow yani çalışma sürecini
kontrol edebiliriz. Biz şöyle bir Call Flow’a sahip olduğumuzu
düşünelim,
1-) Bilgisayarın o anki tarihini kontrol ediyor
2-) Programın yüklendiği tarihi kontrol ediyor
2a-) Süre dolmuşsa hata verip programı kapatıyor
2b-) Süre dolmamışsa kalan süreyi gösterip programı çalıştırıyor
Program 1. ve 2. işlemden sonra bir koşul koyar bu koşulun doğruluğuna
göre 2a veya 2b işlemlerini gerçekleştirir. Bunları yaparken iki farklı
kod kullanır, bunların başlangıçları aynı fakat koşula göre devamları
2a ve 2b’nin çalışma prensibine göre farklı olacaktır. Biz buraya kadar
geçen işlemlerde oynama yaparak programı sürekli hale getirebiliriz
çünkü program bir süre aralığına bakıyor ve buna göre size kullanım
hakkını veriyor ya da programdan çıkıyor. Mesela 2. işleme kadar gelip
yaptığı kontrol işlemini (2a), 2b’ye döndürebiliriz bu sayede shareware
ama sınırsız kullanıma sahip bir programımız olacaktır.
Başka bir örnek verirsek, elimizde anahtar ve kullanıcı adı ile kayıt
olunan bir program var diyelim. Anahtar ve kullanıcı adını yanlış
girdiğimiz zaman bize bir hata verir biz bu hatadan yola çıkarak
programda oynama yapabiliriz. Genelde işimiz atlayıcılar (jumper)
iledir. Biz yanlış anahtar girdiğimizde jumper yardımıyla bizi
gördüğümüz hata mesajına götürecektir ama biz bunu çevirip doğru yere
gönderirsek, girdiğimiz herhangi bir anahtar ve kullanıcı adıyla kayıt
olabiliriz.
Özellikle Türkiye’de korsan oyunlar çok olduğu için muhtemelen bunlarla
karşılaşmışsınızdır. Mesela sahte bir oyun cd’si aldınız, genellikle
bunların içinde crack klasörü vardır siz alır içindeki dosyayı
yüklediğiniz oyunun klasörü içine atarsınız ve oradaki bir dosya ile
yer değiştirir. İşte attığımız bu dosya yukarıdaki yöntemler veya
benzeri bir yöntem kullanılarak üzerinde değişiklik yapılmış oyun
dosyalarıdır. Benzer şekilde internette birçok crack sitesi vardır siz
buralardan çeşitli crack, keygen veya patch dosyaları indirip
programları crackleyebilirsiniz. Bunların hepsinde kullanılan mantık
yukarıdaki gibidir.
Son olarak şunu belirtmek isterim, bu yazının amacı sadece cracking
mantığını göstermektir. Bir program ücret karşılığı dağıtılıyor ve siz
bu programı crack yöntemleriyle kırıp kullanıyorsanız suç
işliyorsunuzdur. Programcılar, program yazmak için aylarca emek
harcarlar ve bu emekleri onlara geri dönmezse daha iyilerini
yapamazlar. Bu yüzden lisanslı program kullanmanızı öneririm.
bilgisayarımıza yüklüyoruz ve programı ilk çalıştırdığımızda bunun bir
Demo veya Shareware sürüm olduğu söyleniyor. Yani kısıtlı kullanım
haklarına sahip ya da bize birkaç gün süre verilip denememiz isteniyor.
Sonuç olarak programın tam sürümü ücretli ve lisans gerektiriyor. Peki
biz bu programı ücret ödemeden de tam sürüm haline dönüştürebilir miyiz
?
Eğer cracking hakkında bilgiye sahipseniz cevap evet olabilir. Peki bu iş nasıl yapılıyor ?
Başlarken belirtmeliyim ki bu iş göründüğü kadar kolay değil, sabır ve
bilgi gerektirir. İlk önce bir programın çalışma mantığını anlayalım.
Herhangi bir yüksek seviyeli programlama diliyle yazılmış bir program
çalıştığı zaman bunun bilgisayar tarafından okunması için kodların
düşük seviyeli (makine dili) dile çevrilmesi lazımdır. Çünkü bilgisayar
işlemcisi ancak makine dilini okuyabilir. Onaltılık sayı düzenindeki
kodları ikilik düzene çevirilir (1 ve 0) ve işlemci bunu yorumlayarak
programı çalıştırır. İşte burada Assembly devreye girer. Makine dili
çok zor olduğu için Assembly geliştirilmiş ve kullanılmaktadır. Bu
yüzden bir programı kırmak istiyorsak Assembly dilini çok iyi derecede
bilmemiz gerekmektedir.
Şimdi bir programı nasıl kıracağımızı düşünelim. Diyelim ki shareware
olan bir programı çalıştırdık ve karşımıza “30 gün deneme süreniz var”
şeklinde bir mesaj geldi ve tam sürüm programa sahip olmak istiyorsak
bir anahtar (serial) girmemiz gerektiği söyleniyor. Bizim yapacağımız
şey program kodlarından bu hatayı verdirten bölümü bularak kendimize
ait bir serial’ı oluşturmak, bir patch (yama) yardımı ile programı tam
sürüm haline getirmek ya da programın 30 günlük deneme hakkını uzatmak.
Bunu yapmak için 2 yöntem kullanılabilinir. Ya program çalışmıyorken
tüm kodları baştan sona tarayıp işimizi yapmak, buna dead list yöntemi
de deniyor, ya da program çalışır vaziyetteyken bir hata ayıklayıcısı
(debugger) yardımıyla o andaki kodlara bakılarak sonuca ulaşmak. Yani
yapacağımız şey tersine mühendisliktir.
Bunları yaparken bazı araçlara ihtiyacımız olacak. Mesela işlemleri
yapabilmek için öncelikle programı Assembly diline çevirmeliyiz bunun
için bir Disassembler programı, içeriklerini görmemiz için ise bir HEX
editör kullanabiliriz. Disassembler’a örnek olarak Win32Dasm
verebiliriz. HEX editörler için ise çok fazla seçenek var, eskiler Hex
Edit, HIEW, WinHex gibi programları kullanırdı şuanda internette daha
geniş ve detaylı HEX editörleri mevcut.
BAKINIZ...
Bir Disassembler örneği, Putty programı üzerinde çalışıyor.
Debugger’lar yani hata ayıklayıcı programlar ise kırmaya çalıştığımız
program çalışırken yaptığı işlemleri görmemizi sağlar. Bu yöntem daha
fazla deneyim gerektirir fakat bizi tüm jump ve call komutlarını
detaylı analiz yapmaktan kurtarır. En çok bilinen debugger programı
Soft-Ice’tır. Program çalışırken Soft-Ice ekranına geçtiğimizde durak
noktaları tespit etmemiz gayet kolay olacaktır.
BAKINIZ...
Soft-Ice ekranı
Gerekli araçları edinmiş ve yeterince bilgiye sahipsek bundan sonrası
tamamen crack olayını yapan kişinin yaratıcılığına bağlıdır. Bu işin
bir tertibi olmamakla beraber aynı programı onlarca değişik yöntem ile
kırabiliriz. “30 günlük deneme” hakkı veren program örneğine geri dönüp
basitçe anlatmak istiyorum, bunu yaparken işin detaylarına girmeyeceğim
çünkü eğer bu konu hakkında yeterince bilginiz yoksa kafa
karıştırmaktan başka bir işe yaramayacaktır.
Öncelikle program başlarken nasıl çalıştığını ve neler yaptığını
anlamamız lazım. Bunun için programın Call Flow yani çalışma sürecini
kontrol edebiliriz. Biz şöyle bir Call Flow’a sahip olduğumuzu
düşünelim,
1-) Bilgisayarın o anki tarihini kontrol ediyor
2-) Programın yüklendiği tarihi kontrol ediyor
2a-) Süre dolmuşsa hata verip programı kapatıyor
2b-) Süre dolmamışsa kalan süreyi gösterip programı çalıştırıyor
Program 1. ve 2. işlemden sonra bir koşul koyar bu koşulun doğruluğuna
göre 2a veya 2b işlemlerini gerçekleştirir. Bunları yaparken iki farklı
kod kullanır, bunların başlangıçları aynı fakat koşula göre devamları
2a ve 2b’nin çalışma prensibine göre farklı olacaktır. Biz buraya kadar
geçen işlemlerde oynama yaparak programı sürekli hale getirebiliriz
çünkü program bir süre aralığına bakıyor ve buna göre size kullanım
hakkını veriyor ya da programdan çıkıyor. Mesela 2. işleme kadar gelip
yaptığı kontrol işlemini (2a), 2b’ye döndürebiliriz bu sayede shareware
ama sınırsız kullanıma sahip bir programımız olacaktır.
Başka bir örnek verirsek, elimizde anahtar ve kullanıcı adı ile kayıt
olunan bir program var diyelim. Anahtar ve kullanıcı adını yanlış
girdiğimiz zaman bize bir hata verir biz bu hatadan yola çıkarak
programda oynama yapabiliriz. Genelde işimiz atlayıcılar (jumper)
iledir. Biz yanlış anahtar girdiğimizde jumper yardımıyla bizi
gördüğümüz hata mesajına götürecektir ama biz bunu çevirip doğru yere
gönderirsek, girdiğimiz herhangi bir anahtar ve kullanıcı adıyla kayıt
olabiliriz.
Özellikle Türkiye’de korsan oyunlar çok olduğu için muhtemelen bunlarla
karşılaşmışsınızdır. Mesela sahte bir oyun cd’si aldınız, genellikle
bunların içinde crack klasörü vardır siz alır içindeki dosyayı
yüklediğiniz oyunun klasörü içine atarsınız ve oradaki bir dosya ile
yer değiştirir. İşte attığımız bu dosya yukarıdaki yöntemler veya
benzeri bir yöntem kullanılarak üzerinde değişiklik yapılmış oyun
dosyalarıdır. Benzer şekilde internette birçok crack sitesi vardır siz
buralardan çeşitli crack, keygen veya patch dosyaları indirip
programları crackleyebilirsiniz. Bunların hepsinde kullanılan mantık
yukarıdaki gibidir.
Son olarak şunu belirtmek isterim, bu yazının amacı sadece cracking
mantığını göstermektir. Bir program ücret karşılığı dağıtılıyor ve siz
bu programı crack yöntemleriyle kırıp kullanıyorsanız suç
işliyorsunuzdur. Programcılar, program yazmak için aylarca emek
harcarlar ve bu emekleri onlara geri dönmezse daha iyilerini
yapamazlar. Bu yüzden lisanslı program kullanmanızı öneririm.
F3do :: Programlar :: Crack
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz