Autor    :Bart
Temat    :Szukanie poprawnego klucza
Program  :PolyView 3.01
Gdzie    :PC World Komputer CD 3/99 A
Narzedzia:W32dsm,SoftIce 3.2x


1.Uruchamiamy PolyView przechodzimy do menu REGISTRATION klikamy LICENSE INFORMATION, wpisujemy dowolne dane klikamy OK.Pojawia sie MessageBox informujacy o nieudanej rejestracji.Spisujemy fragment komunikatu na kartce.Zamykamy PolyView.
2.Uruchamiamy W32dsm i dekompilujemy PolyView.
3.W String Data References wyszukujemy komunikat ktorego fragment wczesniej spisalismy>klikamy na nim podwojnie

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00444A19(C) <--stad nastapil skok
|

* Possible Reference to String Resource ID=00141: "Unregistered"
                                  |
:00444ABC 688D000000              push 0000008D
:00444AC1 8BCF                    mov ecx, edi
:00444AC3 E8448D0600              call 004AD80C
:00444AC8 53                      push ebx
:00444AC9 53                      push ebx

* Possible StringData Ref from Data Obj ->"Registration unsuccessful. Please "
                                        ->"verify that you have entered the "
                                        ->"information exactly as shown on "
                                        ->"your registration letter."

4.Z menu wybieramy goto code location i jako adres wpisujemy 444A19.Widzimy kod

:00444A0F E8DCD7FEFF              call 004321F0<--funkcja sprawdzajaca
:00444A14 83C408                  add esp, 00000008<--uregulowanie stosu
:00444A17 85C0                    test eax, eax<--sprawdzenie
:00444A19 0F849D000000            je 00444ABC<--skok do 444A19

5.Klikamy podwojnie na call 004321F0, wybieramy z menu execute call i widzimy kod

:0043221F 83C408                  add esp, 00000008
:00432222 3BC3                    cmp eax, ebx<--porownanie wprowadzonych danych
:00432224 7518                    jne 0043223E

6.Zapisujemy sobie adres 432222 na kartce, wychodzimy z W32dsm.Uruchamiamy PolyView przechodzimy do rejestracji, wprowadzmy dane (u mnie:Bart,s/n:987654321) wchodzimy do SI(CTRL-D) i zakladamy pulapke na pobieranie tekstu z okienka dialogowego >bpx GetWindowTextA
7.Wychodzimy z SI klikamy OK
8.Gdy juz bedziemy w SI gasimy wczesniej zastawiona pulapke >bd 0 i zastawiamy nowa 
>bpx 432222.
9.Naciskamy F5 i teraz wystarczy zobaczyc co siedzi w rejestrach eax i ebx a wiec piszemy
?ebx i co widzimy, jasne ze nasz wprowadzony serial,potem piszemy ?eax i widzimy poprawny serial(ktory oczywiscie spisujemy na kartce).Teraz wystarczy zgasic pulapki bd *,wyjsc z SI i ponownie wprowadzic poprawne dane u mnie

Licensee      :Bart
License Number:3263380777

10.Klikamy OK,wow zarejestrowane.Prawda, ze proste?
11.Cala prace mozna wykonac uzywajac wylacznie SoftIca sledzac po kolei caly kod ale w tym tutorialu chcialem pokazac jak owocna moze okazac sie wspolpraca W32dsm z SI.
12.Pozdrowienia dla crackerow!