Pop-Up Stopper v3.0

amois

Program Url: w*w.panicware.com
Program Tipi: Internet Utility

Araçlar:

 

SoftICE

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

Başlangıç

Istenmeden cikan Popup Window'lari engelliyor.

 

Yazı


Internet Explorer calistiginda Register ekrani cikiyor --> “123-456-7890

0167:02ADD56D PUSH ESI                     <-- esi = 49976262h = 1234567890
0167:02ADD56E CALL 02AD88E0                <-- Serial kontrol
0167:02ADD573 ADD ESP,04
0167:02ADD576 TEST EAX,EAX
0167:02ADD578 JNZ 02ADD5DC                 <-- iyi cocuk
0167:02ADD57A PUSH 10
0167:02ADD57C PUSH 02AEA2B8
0167:02ADD581 PUSH 02AEB758
0167:02ADD586 PUSH EBX
0167:02ADD587 CALL [USER32!MessageBoxA]    <-- Hata

[bpx 2ADD56E] --> [F8]

0167:02AD88E0 MOV EAX,[ESP+04]             <-- eax = 49976262
0167:02AD88E4 PUSH E1E235D1
0167:02AD88E9 PUSH 33C65319
0167:02AD88EE PUSH EAX
0167:02AD88EF CALL 02AD88D0                <-- eax = FC56997B oldu
0167:02AD88F4 XOR EDX,EDX
0167:02AD88F6 MOV ECX,00000BC3
0167:02AD88FB DIV ECX                      <-- eax = 157446, edx = 629 oldu
0167:02AD88FD ADD ESP,0C
0167:02AD8900 MOV EAX,EDX                  <-- eax = 629
0167:02AD8902 NEG EAX                      <-- eax = FFFFF9D7
0167:02AD8904 SBB EAX,EAX                  <-- eax = FFFFFFFF
0167:02AD8906 INC EAX                      <-- eax = 0
0167:02AD8907 RET

[bpx 2ADD8EF] --> [F8]

0167:02AD88D0 MOV EAX,[ESP+04]             <-- eax = 49976262h = 1234657890
0167:02AD88D4 MOV ECX,[ESP+0C]             <-- ecx = E1E235D1
0167:02AD88D8 XOR EAX,ECX                  <-- eax = A87557B3 oldu
0167:02AD88DA IMUL EAX,[ESP+08]            <-- [esp+08] = 33C65319
0167:02AD88DF RET                          <-- eax = FC56997B

Olay biraz acikliga kavustu.

1- Girdigimiz serial E1E235D1 ile XOR islemine giriyor.
2- Sonuc 33C65319 ile carpiliyor.
3- Bu deger BC3 e bolunuyor.
4- Cikan sonucun 0 olmasi gerekiyor.

Girdigimiz serialin gecerli olabilmesi icin, 2AD8900 da eax e 0 degerinin atanmasi gerekiyor. Brute-Force kodumuz su sekilde olabilir.


.data
iksor     dd 0E1E235D1h             ; orjinal programdan
carpan    dd 33C65319h              ; orjinal programdan
bolen     dd 0BC3h                  ; orjinal programdan
sonuc     db 32h dup(?)             ; cikan sonucu buraya atacagiz
tur       db "%lu",0                ; cikan sonucu decimal’e cevirmek icin
sayac     dd 01h                    ; 1 den baslayarak serial arayacagiz

.code

start:

@basla:
mov eax, sayac                     ; eax’e 1 den baslayarak deger atiyoruz
xor eax, iksor                     ; XOR islemi
imul eax, carpan                   ; carpma islemi
xor edx, edx                       ; edx bolme islemi oncesi 0 landi.
mov ecx, bolen
div ecx                            ; bolme islemi
cmp edx, 0                         ; bolme islemin sonucu kalan deger edx’de
je @yaz                            ; eger 0 ise gecerli serial bulduk
inc sayac                          ; degilse sayaci 1 artir
jmp @basla                         ; bir daha dene

@yaz:
mov ebx, sayac                     ; gecerli serial ebx’de
mov eax, offset sonuc              ;
mov edx, offset tur                ;
invoke wsprintf, eax, edx, ebx     ; seriali decimal’e cevirip yaz
mov eax, offset sonuc              ; sonuc bolgesinin offseti eax’de
invoke MessageBoxA, 0, eax, eax, 0 ; gecerli seriali goster
invoke ExitProcess,0

end start



Brute-Force calisinca bize “4??” degerini verdi --> 000-000-04??


BIRAZ DA MATEMATIK

Peki, Brute-Force yazmadan gecerli serial bulabilir miydik ? Programcinin matematik bilgisinin biraz eksik olmasi nedeniyle bulabiliyoruz. Cunku yapilan islemlerde toplama veya cikarma yok. Sadece carpma ve bolme var. Programci, burada “0” in ozelliklerini unutmus gorunuyor. Gecerli serialimizi “a” ile gosterelim.

b = a xor E1E235D1
c = b * 33C65319
d = c / BC3
e = kalan

e” degerinin 0 olmasi gerekiyor. “c” degerimiz 0 olursa, hem “d” hem de “e” degerleri 0 olacak. “c” nin 0 olmasi icin “b” nin 0 olmasi gerekir. “b” nin 0 olmasi icin de, “a” nin ???????? olmasi gerekir. Evet, gecerli serialimiz ????????

Cracker'dan NOT : ???????? degerini bulamiyorsaniz, bu siteye bir daha ugramayin.

 

Son Notlar

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