Math Maker v1.1

amois

Program Url: w*w.gepesoftware.com
Program Tipi: *

Araçlar:

 

SoftICE, Smartcheck

Basit (x)  Orta (x)  Zor ( )  Pro ( )

Başlangıç

 

"Ayrilik küçük sevgileri yok eder, büyük sevgileri daha da yüceltir. Tipki rüzgarin mumu söndürüp, atesi ise daha da alevlendirdigi gibi."

 

Yazı


VB6 ile yazilmis. “amois”, “1907” -> Smartcheck ile biraz inceleyelim.

Len returns LONG:5
Long(5) -> Integer (5)         <- amois
Mid
Asc returns Integer:97         <- a
Mid
Asc returns Integer:109        <- m
Mid
Asc returns Integer:111        <- o
Mid
Asc returns Integer:105        <- i
Mid
Asc returns Integer:115        <- s
Str                            <- 62855
Mid                            <- “62855”
Len returns LONG:6             <- 62855
Right                          <- 62855
Beep

Ipucu olarak sadece 62855 sayisi var ve bu haliyle bir ise yaramiyor. SoftIce ile biraz debug edelim.

[bpx __vbastrcmp] -> bu breakpointi kullaninca, cok kolay bir bicimde “1907” ile “??62855” in karsilastirildigini gorecegiz.

 

Gecerli serial bulundu, peki KeyGen ? SoftIce ile debug sirasinda su bolume geleceksiniz.

...
0167:004D6B42 CALL [MSVBVM60!rtcAnsiValueBstr]    <- 97 109 111 105 115    <- a m o i s
0167:004D6B48 ADD AX,0001                         <- 98 110 112 106 116                        
0167:004D6B4C LEA EDX,[EBP-24]                   
0167:004D6B4F JO 004D6E71
0167:004D6B55 IMUL AX,AX,02                       <- 196 220 224 212 232

Bu hesaplanan degerlerin 62855 ile ilgisi nedir ? Biraz asagida su bolumu goreceksiniz.

...
0167:004D6BC5 PUSH EAX
0167:004D6BC6 MOV DWORD PTR [EBP-64],0000F14B     <- F14Bh = 61771

196 + 220 + 224 + 212 + 232 = 1084 -> 1084 + 61771 = 62855

Ayni, “Bir Kelime Bir Islem” yarisma programi gibi. 196, 220, 224, 212, 232 ve 61771 sayilarindan nasil 62855 sayisini elde ederiz ? Tabii ki bu sekilde kolay oldu ve sansimiz yaver gitti. Normal sartlar altinda, bu hesaplamayi da debug ederek cozmemiz gerekirdi.
 

Son Notlar

Bir programı kullanarak para kazanıyorsanız, programı satın alın.