CEMRE© Yöneltme Yönergesi 1.0.2.6

kresuz
Program Url:www.cemre.web.tr
Program Tipi:Okul Proğramı
     Araçlar:
OllyDbg version 1.10
Basit (x )  Orta ( )  Zor ( )  Pro ( )
Başlangıç

Dandik korunan proğramlardan biri daha.Programın serialini bulacağız.Ayrıca proğramı keygen haline getireceğiz..
Yazı

Önce zugzwang'ın derlediği Ollydbg v1.10 cekin

Ollydbg 'u açın.F3 ile Yönerge proğramını yükleyin.F9 ile çalıştırın.Register bölümüne gelin.

Sallama serial olarak 1A2B3C4D5E yazın tamam tusuna basmadan önce ollydbg 'ye geçin.Plugins==>Apibreak==>Point H

ile breakpoint koyun.

(Proğram Borland Delphi ile yazılmış.Point H breakpointi softice deki bpx hmemcpy işlevinin karşılığı.)

Tekrar programa dönün ve tamam tuşuna basın.Ollydbg ye düştük.User32 içindeyiz. F2 ile breakpointi kaldırın.

Bir sefer Alt+F9 yapın.Şimdi proğram kodları içindeyiz.

457394 MOV DWORD PTR DS:[EBX+C],EAX ==>buradayız

457397 MOV EAX,DWORD PTR DS:[EBX]

457399 CMP EAX,0C

45739C JNZ SHORT Yonerge.004573B9

45739E MOV EDX,DWORD PTR DS:[EBX+8]

4573A1 PUSH EDX

4573A2 MOV ECX,DWORD PTR DS:[EBX+4]

4573A5 MOV EDX,EAX

4573A7 MOV EAX,ESI

4573A9 CALL Yonerge.00452ACC

4573AE JMP SHORT Yonerge.004573B9

4573B0 MOV EDX,EBX

4573B2 MOV EAX,ESI

4573B4 CALL Yonerge.004543A0

4573B9 POP EBP

4573BA POP EDI

4573BB POP ESI

F8 ile hata mesajına kadar ilerliyoruz

6BA75D PUSH DWORD PTR FS:[EAX]

6BA760 MOV DWORD PTR FS:[EAX],ESP

6BA763 MOV EAX,EBX

6BA765 CALL Yonerge.006BA954

6BA76A PUSH DWORD PTR DS:[6F1AC4]

6BA770 PUSH DWORD PTR DS:[6F1AC0]

6BA776 LEA EAX,[LOCAL.1]

6BA779 CALL Yonerge.004099F0 ==>keygen

6BA77E MOV EAX,[LOCAL.1] ==>serial eax 'a alınıyor. "MOV EAX,DWORD PTR SS:[EBP-4]"

6BA781 PUSH EAX

6BA782 LEA EDX,[LOCAL.2]

6BA785 MOV EAX,DWORD PTR DS:[EBX+308]

6BA78B CALL Yonerge.00452F2C

6BA790 MOV EDX,[LOCAL.2] ==>Girdiğimiz sallama serial(1A2B3C4D5E) "MOV EDX,DWORD PTR SS:[EBP-8]"

6BA793 POP EAX ==>Gercek serial

6BA794 CALL Yonerge.00404E70 ==>karşılastır.

6BA799 JE SHORT Yonerge.006BA7B8 ==>Eşit ise kaydet

6BA79B LEA EDX,[LOCAL.3]

6BA79E MOV EAX,DWORD PTR DS:[EBX+308]

6BA7A4 CALL Yonerge.00452F2C

6BA7A9 MOV EDX,[LOCAL.3] ==>Girdiğimiz sallama serial(1A2B3C4D5E)

6BA7AC MOV EAX,Yonerge.006BA84C

6BA7B1 CALL Yonerge.00404E70 ==>Tekrar kontrol et

6BA7B6 JNZ SHORT Yonerge.006BA809 ==>Eşit değil ise hata mesajı

6BA7B8 MOV EAX,DWORD PTR DS:[6EE39C] / girilen serial doğru ise kayıt işlemlerine baslanıyor.

6BA7BD MOV EAX,DWORD PTR DS:[EAX]

6BA7BF MOV ESI,DWORD PTR DS:[EAX+144]

6BA7C5 MOV EAX,ESI

6BA7C7 CALL Yonerge.00575914

6BA7CC MOV EAX,ESI

6BA7CE CALL Yonerge.00578160

6BA7D3 MOV EDX,Yonerge.006BA870

6BA7D8 MOV EAX,ESI

6BA7DA CALL Yonerge.0057699C

6BA7DF MOV EDX,DWORD PTR DS:[6EDE84]

6BA7E5 MOV EDX,DWORD PTR DS:[EDX]

6BA7E7 MOV ECX,DWORD PTR DS:[EAX]

6BA7E9 CALL DWORD PTR DS:[ECX+B0]

6BA7EF MOV EAX,ESI

6BA7F1 MOV EDX,DWORD PTR DS:[EAX]

6BA7F3 CALL DWORD PTR DS:[EDX+248]

6BA7F9 MOV EAX,ESI

6BA7FB CALL Yonerge.00575920

6BA800 MOV EAX,EBX

6BA802 CALL Yonerge.00471344

6BA807 JMP SHORT Yonerge.006BA813

6BA809 MOV EAX,Yonerge.006BA880 ==>hata mesajını al

6BA80E CALL Yonerge.0044B6D4 ==>mesajı göster

6BA7B6 JNZ SHORT Yonerge.006BA809 ==>burayı JE SHORT Yonerge.006BA809 şeklinde değiştirirsek veya

NOP larsak proğram yanlış seriali kabul ediyor.ve kendini kayıtlıyor.

6BA7B6 90 NOP

6BA7B7 90 NOP

Proğramcı burada büyük hata yapmış.Kayıt işlemine direk geçiyor.

Bu işlem sırasında başka herhangi bir kontrol yapmıyor.6BA7B6 deki jump komutunun çalışmasını engellemek yeterli

Şİmdi proğramı keygen haline getirelim.Yani bize hata mesajı yerine gercek seriali göstersin.

Dikkat edilirse doğru serial yukarıda belirttiğim gibi 6BA77E satırında EAX ' a alınınıyordu.(6BA77E MOV EAX,[LOCAL.1] )

6BA77E MOV EAX,[LOCAL.1] Peki eax 'a seriali aktaran [LOCAL.1] de asm degeri ne ?.Bu nu ögrenmek için 6BA77E satırının üzerine

geliyoruz ve space tusuna basıyoruz."MOV EAX,DWORD PTR SS:[EBP-4]" ü görüyoruz.yani gerçek serial DWORD PTR SS:[EBP-4] de

Hata mesajıda 6BA809 satırında idi."MOV EAX,Yonerge.006BA880 "

Hata mesajında 6BA809 satırında MOV EAX,Yonerge.006BA880 yerine MOV EAX,DWORD PTR SS:[EBP-4] yazarsak Eax messagebox'a

hata yerine gercek seriali gönderecektir.Bu işlemi yapmak icin 6BA809 satırının üzerine gelin.space tusuna basın

MOV EAX,Yonerge.006BA880 yerine ,MOV EAX,DWORD PTR SS:[EBP-4] yazın ,assemble tusuna basın ve bu bölümden çıkın.

Orijinal hali Düzenlenmiş Hali

Ollydbg ki görünüsü.Orijinal hali.

Ollydbg ki görünüsü.Düzenlenmiş Hali

Şimdi bu yaptıklarımızı kalıcı hale getirelim.ollydbg 'de proğram kodu üzerine tıklayın

sag tuş yapın.gelen listeden sırasıyla copy to executable==>all modifications==>copy all

gelen pencerede yine sağ tus ve save file ye basın.bir isim vererek saklayın

Şimdi Ollydbg den cıkın.sakladığımız programı çalıştırın.Register bölümüne sallama serial yazın .Tamam tusuna basın.

Evet gercek serial karsımızda.

Eger Point h breakpointi calısmazsa(Win98 de calısmıyor.Xp gerekli)Sallama serial yazdıktan sonra tamam tusuna basmadan

ollydbg ye gecin.Program kodları üzerinde CTRL+G yapın.Önümüze gelen kutuya 457394 yazıp enterleyin.457394 satırına gideceksiniz.

F2 ile breakpoint koyun ve programa dönüp tamam tusuna basın.Ollydbg ye düseceksiniz.F8 ile hata mesajına kadar ilerleyin.

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.
Son Notlar

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.

kresuz

E-Mail: kresuz@hotmail.com