Registry 911 v2.0.4

kresuz
Program Url:www.registry911.com
Program Tipi:Optimizer.
     Araçlar:
OllyDbg v1.10,PEiD
Basit (X)  Orta ()  Zor ( )  Pro ( )


Başlangıç

Program Microsoft Visual Basic ile yazılmış.Bundan dolayı mesaj icin MSVBVM60.DLL içinde rtcMsgBox a breakpoint koyacagız. Daha önce ollydbg de bir ayar yapmamız gerekli.(Atlamaların nereden geldiğini bulmak için.) İşe başlayalım.
Yazı

Ollydbg yi açın.ALT+D yapın.CPU bölümündeki ayarlar resimdeki gibi olsun.

 
Bu yaptıgımız ayar bize program kodlarında nereden cagrı var,nereye jump yapıyorlar gösterir. Programı olldbg de F3 ile yukleyip F9 ile calıstırın.Register bölümüne gelin.Order ID:kresuz Clickbank Receipt:12345678 (mutlaka 8 karakter olacak), Registration Key e sallama seriali yazın.Register Now tusuna basmadan önce breakpoint i koyalım. ALT+E yapın.Modül listesinde MSVBVM60.DLL üzerinde CTRL+N yapın.Önümüze gelen listede rtcMsgBox a F2 ile breakpoint koyun.
 
Programa dönüp Register Now tusuna basın.Breakpoint çalıştı.Ollydbg ye döndük.
 
660DC5F3 >  55                             PUSH    EBP             ==>Burada durdu.(MSVBVM60.rtcMsgBox) F8 ile devam
660DC5F4    8BEC                           MOV     EBP, ESP
660DC5F6    83EC 4C                        SUB     ESP, 4C
660DC5F9    8B4D 14                        MOV     ECX, DWORD PTR SS:[EBP+14]
660DC5FC    53                             PUSH    EBX
660DC5FD    56                             PUSH    ESI
660DC5FE    57                             PUSH    EDI
660DC5FF    66:8339 0A                     CMP     WORD PTR DS:[ECX], 0A
660DC603    B8 04000280                    MOV     EAX, 80020004
660DC608    0F85 FC000000                  JNZ     660DC70A
660DC60E    3941 08                        CMP     DWORD PTR DS:[ECX+8], EAX
660DC611    0F85 F3000000                  JNZ     660DC70A
660DC617    834D FC FF                     OR      DWORD PTR SS:[EBP-4], FFFFFFFF
660DC6EA    E8 FC72F8FF                    CALL    660639EB                  ==>Hata mesajını gösteren call
660DC6EF    FF75 E4                        PUSH    DWORD PTR SS:[EBP-1C]
660DC6F2    8BF8                           MOV     EDI, EAX
660DC6F4    FFD6                           CALL    NEAR ESI                                   ; OLEAUT32.SysFreeString
660DC6F6    FF75 10                        PUSH    DWORD PTR SS:[EBP+10]
660DC6F9    FFD6                           CALL    NEAR ESI                                   ; OLEAUT32.SysFreeString
660DC6FB    FF75 EC                        PUSH    DWORD PTR SS:[EBP-14]
660DC6FE    FFD6                           CALL    NEAR ESI                                   ; OLEAUT32.SysFreeString
660DC700    0FBFC7                         MOVSX   EAX, DI
660DC703    5F                             POP     EDI                                        ; 01001EA4
660DC704    5E                             POP     ESI                                        ; 01001EA4
660DC705    5B                             POP     EBX                                        ; 01001EA4
660DC706    C9                             LEAVE
660DC707    C2 1400                        RETN    14                 ==>F2 ile break point koyun ki dönüşü takip edelim.
 
Programa dönün.Hata mesajında tamam tusuna bastıktan sonra 
660DC707    C2 1400                        RETN    14  de durduk. F8 ile devam
 
004EE330   .  51                           PUSH    ECX                                        ;  
004EE331   .  FF15 A4104000                CALL    NEAR DWORD PTR DS:[<&MSVBVM60.#595>]        ;  MSVBVM60.rtcMsgBox Hata mesajı çagrısı
004EE337   .  8D4D BC                      LEA     ECX, DWORD PTR SS:[EBP-44]     ==>F8 den sonra döndüğümüz yer.
004EE33A   .  FF15 9C124000                CALL    NEAR DWORD PTR DS:[<&MSVBVM60.__vbaFreeStr>; 
004EE340   .  8D95 40FFFFFF                LEA     EDX, DWORD PTR SS:[EBP-C0]
004EE346   .  52                           PUSH    EDX
004EE347   .  8D85 50FFFFFF                LEA     EAX, DWORD PTR SS:[EBP-B0]
004EE34D   .  50                           PUSH    EAX
004EE34E   .  8D8D 60FFFFFF                LEA     ECX, DWORD PTR SS:[EBP-A0]
004EE354   .  51                           PUSH    ECX                                        ;  
004EE355   .  8D95 70FFFFFF                LEA     EDX, DWORD PTR SS:[EBP-90]
 
004EE337   .  8D4D BC                      LEA     ECX, DWORD PTR SS:[EBP-44]     ==>F8 den sonra döndüğümüz yer idi.
 
004EE337  satırından biraz yukarı cıkalım.Daha önce yaptıgımız ayar sayesinde hata mesajına gelen jump u ollydbg bize
004EE287  satırında gösterdi. (     >  karakteri buraya atlama var diyor.)
 
Peki 004EE287 satırına gelen jumpu nasıl görecegiz.Uzun uzun yukarıya mı cıkacagız.Hayır.Bu da kolay. 004EE287 satırına gelin satır üzerinde sag tus yapın.Resimi takip edin.
 
Resimde görüldügü gibi 004EE287 satırına esit degil ise git jumpu 004EDC1D satırından geliyor.Buna tıklarsak 004EDC1D satırına gideriz.Tıklayın.
 
004EDC1D      0F85 64060000                JNZ     004EE287     
004EDC23   .  C745 FC 28000000             MOV     DWORD PTR SS:[EBP-4], 28               
004EDC2A   .  BA 9C9E4600                  MOV     EDX, 00469E9C         
 
004EDC1D  satırından biraz yukarı çıkalım.
 
004EDC0D   .  8B45 C8                      MOV     EAX, DWORD PTR SS:[EBP-38]           ==>Gercek serial eax a alınıyor
004EDC10   .  50                           PUSH    EAX
004EDC11      8B4D C0                      MOV     ECX, DWORD PTR SS:[EBP-40]           ==>Girdiğimiz sallama serial ecx e alınıyor.
004EDC14   .  51                           PUSH    ECX                                       
004EDC15   .  FF15 20114000                CALL    NEAR DWORD PTR DS:[<&MSVBVM60.__vbaStrCmp>>; Karsılaştır.
004EDC1B   .  85C0                         TEST    EAX, EAX
004EDC1D      0F85 64060000                JNZ     004EE287                             ==>Yanlış ise hata mesajına git.
004EDC23   .  C745 FC 28000000             MOV     DWORD PTR SS:[EBP-4], 28               ;Dogru ise kayıta başla
004EDC2A   .  BA 9C9E4600                  MOV     EDX, 00469E9C                          ;  UNICODE "regKEY"   
 
 

Bu tutoriali yazmaktaki amacım programcılara ,programlarını daha iyi korumaları için yol göstermektir..
Son olarak şunu söyleyeyim:Bir programı kullanarak para kazanıyorsanız,o programı 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.

E-Mail: kresuz