16 Ekim 2016 Pazar

Program Nasıl Kırılır?

Program kırmak, cracker'lık bilgisayar programlarındaki lisans haklarının aşırıya kaçması, BSA (Business Software Allience)' nın aşırı baskılarıyla ve Microsoft'un tekelini daha fazla yaymasıyla ivme kazandı. Günümüzde piyasaya yeni çıkan programların bir kaç gün içerisindekırılıp crack patch'inin internete konulduğunu görüyoruz. Program kırabilmek için programcılıktan biraz anlamak gerekiyor. Özellikle dongle adı verilen donanımla korunan
programları kırmak istiyorsanız (Cevirmen gibi) mutlaka Assembly bilmeniz gerekecek..

Başlangıç için gereksinimleriniz: 

W32Dasm 8.5 veya daha yukarısı.
Hacker's View 5.24
Norton Commander ya da Windows Commander.
Turbo Pascal 7.0
TASM ve TLINK 3.0

Bu programları internette pek çok yerden bulabilirsiniz. Bulamadığınız programları benden e-posta'yla isteyebilirsiniz..

Programlarımızı bulduktan sonra ilk programımızı kırabiliriz. İlk programımız Quick View Plus.Bu program windows 95 altında çalışıyor ve herhangi bir dosyanın göstericisine ihtiyaç duymadan dosyanın içeriğini görmenizi sağlıyor. Programın shareware sürümünü internetten bulabilirsiniz. Anlatacağımız yolları takip ederek de programı lisanslı hale getirebilirsiniz.(İlk örnek biraz karışık gelebilir ama örneklerimizi arttırdıkça siz de pek çok programı
kenidniz kırabileceksiniz)

1- QVP dizinindeki Order32.Exe dosyasını çalıştırın. 

2- $49 Single user license seceneğini seçin. (İsterseniz $59 seçeneğini de seçebilirsiniz).Daha sonra Unlock By phone seçeneğini seçin.

3- Herhangi bir uyduruk numara girin. Hata mesajı gelecek (çok ballı değilseniz tabii ki :)) Daha sonra programı kapatın.

4- Norton Commander programını çalıştırıp QVP dizinine girin. ORDER32.EXE dosyasını ORDER32.EXX
şeklinde bir kopyasını alın. Başka bir dizine de aynı dosyayı 1.EXE adıyla kopyalayın. 
(Bu dosyayı W32DASM ile açacağız)

5- W32 dissasembler programını kullanarak 1.EXE dosyasını assembly kodlarına çevirin. (Birazcık zaman alıcı bir işlem)

6- Çevirdikten sonra STRING DATA REFERENCE (SDR) seçeneğini seçerek "You have entered 
an incorrect code. Please check your entry" mesajını aratın. 

7- SDR penceresini kapattığınızda aynı kısmın hexadesimal kodlarını göreceksiniz. 

* Possible reference to String Resource ID=00041: "You have entered...
:004049F8 6A29 push 00000029
:004049FA FF353CCE4000 push dword ptr [0040CE3C]

8- Bu mesajın bir üst satırında mutlaka bir karşılaştırma yapılmalıdır. (Girilen kodu karşılaştır. Eğer yoksa hata mesajı ver. Varsa farklı bir yere dallan program mantığı).

Assembly'de karşılaştırma CMP, JNE, JZ, TEST komutlarıyla yapılır. Bu komutlardan birini muhtemelen göreceksiniz. Bu program için bir üst satır:

:004049CD 755A jne 00404A29
* Possible reference to String Resource ID=00032: "You must select...
:004049CF 6A20 push 00000020
...
...
* Possible reference to String Resource ID=00040: "Unlock Error"

9- Bu aşamada programa kod yanlış girildiğinde program nereye dallanıyor onu bulacağız. Bir deneme yapıp jne komutunu tam tersi olan je komutuyla değiştirebiliriz. (Hatırlatma: JNE komutu Jump Not Equal; Eğer eşit değilse dallan anlamına gelen komuttur. JE is Jump Equal yani eşitse dallan anlamına gelen komuttur.) Bu değiştirmeyle yanlış bir kod girildiğinde doğru girilen yere göndermiş oluyoruz. 

10- Kaydedip çıktıktan sonra Hackers View programını HIEW ORDER32.EXE komut satırıyla 
çalıştırdıktan sonra F4 tuşuyla tümünü seçin. DECODE MODE (ASM) seçeneğini seçin, F5 tuşuyla
arama moduna geçip 3DCD stringini aratın . Şunun gibi bir program bloğu göreceksiniz:
(Hatırlatma: 3DCD JNE komutunun Opkodudur.)

00003DCD: 755A jne 000003E29
00003DCF: 6A20 push 020
00003DD1: FF15 call w,[di]

11- F3 tuşuna basıp değiştirme moduna geçin. 74 yazın ve değiştirin. (Böylece 75 kodunu 74'le değiştirimiş olacağız). F9 tuşuna basarak değşiklşkleri kaydedip HIEW'den çıkın. 

12- Şimdi yeniden Quick View Plus programına girerek programı lisanslı hale getirmek için rastgele bir kod girin. Girdiğiniz kod ne olursa olsun program lisanslanacaktır. İlk program kırma tecrübenizi de böylece yaşamış olacaksınız. (Hatırlatma: Tabii programı kırdıktan sonra doğru seri numarası girerseniz program hatalı kod girdiniz alanına dallanacağı için lisanslı hale gelmeyecektir:))

Demek ki illaki programların seri numaralarını sağdan soldan aramak yerine kendimiz de basit birkaç işlemle kırabiliyormuşuz. Diğer lisans numarası isteyen programlarda da deneyin.Muhetemelen başarılı olacaksınız. Başarılı kırmalar..

NOT: Programların direkt içerikleriyle oynadığınız için programlar çalışmaz hale gelebilir. Yanlış bir döngüye girebilir ya da yanlış bir dallanma yapıp bilgisayarınızı kilitleyebilir. Onun için üzerinde oynamadan önce mutlaka programın bir kopyasını almanızı öneririm.