ZirveYazılım Müşavir Paketi V.3.03 Sürüm 8 |
|
|
|
Program Tipi: Müşavir Paketi |
|
OllyDbg version 1.10 |
|
|
|
|
ZirveYazılım Müşavir Paketi V.3.03 Sürüm 8 programının serialini bulacağız.Patch yapacağız.(Je,jne,nop,jmp kullanmadan)Ayrıca programı keygen haline dönüştüreceğiz.
Ollydbg v1.10 cekin.İşe başlayalım.
A==>Seriali bulmak; B==>Patch Yapmak; C==>Programı keygen haline çevirmek;
Yani eax da doğru serial,edx de girdiğimiz sallama serial vardı.
Biz şimdi edx e doğru serilali verip karsılastırdıgı call'e öyle gönderelim.
00768C46 8B55 C4 MOV EDX, DWORD PTR SS:[EBP-3C] ===>Edx'de girdiğimiz sallama serial yerine doğru serial var
00768C49 . 58 POP EAX ===>doğru serial eax'da ; 01E53F4C
00768C4A . E8 3DB8C9FF CALL 0040448C ===>Artık iki doğru seriali karsılaştırıyor.
00768C4F 75 1D JNZ SHORT 00768C6E ===>Sonuc dogru oldugu icin hata mesajına gitmeyecek.
Je,jne,nop,jmp kullanmadan patch yapmış olduk.

Patch yaptığımızda:
00768C6E 8B45 C4 MOV EAX, DWORD PTR SS:[EBP-3C] ===>Gercek seriali al
00768C71 90 NOP
00768C72 90 NOP
00768C73 . E8 84A4CFFF CALL 004630FC ===>Gercek seriali göster.
Şimdi programı çalıştıralım.

Gördüğünüz gibi proğram hata mesajı yerine gercek seriali gösterdi.Peki bu değişikliği Hiew veya Ultraedit-32 kullanmadan
kalıcı hale getirebilirmiyiz ?.Olly bu konuda da bize çok yardım ediyor işi.Tekrar ollydbg a dönün.
(00768C6E 'nin degerleri değişikken ve proğram kodları önümüzde iken).Yine mouse ile kodlar üzerinde sağ tuş yapın.
Şu sırayı takip edin.Copy to executable ==>all modifications==>copy all==>önümüze gelen ekranda yine sağtuş==>save file ve
farklı bir isimle kaydet.
Bazen olldbg de point h breakpointi kilitlenmiş gibi davranıyor.Breakpoint konduktan sonra programda serial bölümüne dönülemediği
söyleniyor.Bunu engellemek için ollydbg nin boyutlarını küçültün.(çercevelerinden).breakpoint koymadan önce olldbg ve programın
serial soran bölümü önünüzde olsun.ikisinide aynı anda görün.

Bu programda da programcı aynı hatayı yapmış.(Hata mesajından önceki karsılastırma yaptıkları call meydanda.Bundan
dolayı seriali bulmak ve patch yapmak o kadar zor degil.Hiç olmazsa bu karsılastırmaları degişik caller de yapmak ve
karsılaştırma sonucunda ki jump komutundan sonra[00768C4F 75 1D JNZ SHORT 00768C6E ===>yanlış ise hata mesajına git.
(nop larsak kayıtlanıyor)]geriye dogru birkac kontrol yapmak gerekli.(Bunlarda bir çözüm degil ama bu kadarda basit olmamalı.)
Bu tutoriali yazmaktaki amacım proğramcılara ,proğramlarını daha iyi korumaları için yol göstermektir..
Son olarak şunu söyleyeyim:Bir proğramı kullanarak para kazanıyorsanız,o proğramı mutlaka satın alın.Emeğe değer verin...
Lisansız kullanımdan tutoriali hazırlayanlar sorumlu değildir.
Bu yazıda yazım yanlışları , bilgi hatası olabilir.Eğer bir yanlış bulursanız bana mail atın düzeltmeye çalışırım.