Autor:    Bart
Co:       Vdesk - programik,ktory udostepnia nam a 6 wirtualnych desktopw.W wersji niezarejestrowanej co kilkadziesit sekund wyswietla si nagscreen po,ktrym trzeba nacisnc ESC.Znalezienie poprawnego kodu jest banalnie proste,wic jezeli nie jeste zupenym newbee to nie tra czasu.Nawiasem mwic program jest niezy i moe sie przyda ale zabezpieczenia s marne.

VDeska znajdziecie na pycie Chipa 1/99
Narzdzia:W32dsm(ja uzywam wersji 8.93)
          

Narzedzia znajdziesz na stronie CrackPL
http://www.hyperreal.art.pl/cypher/crkpl/
lub na 
http://cracking.home.ml.org

1.Uruchamiamy VDeska,klikamy prawym klawiszem myszy na ikonce programu na pasku systemowym WLASCIWOSCI.Przechodzimy do zakladki REJESTRACJA
2.Wpisujemy dowolne haslo i klikamy OK
3.Program nie wywietla zadnego komunikatu o blednym kodzie.Uruchamiamy W32dsm i dekompilujemy plik Vdesk.exe.Klikamy DEBUG|LOAD PROCESS
4.Klikamy w menu REFS|STRING DATA REFERENCES.jak dobrze sie przyjrzymy wyswietlonej liscie to zauwazymy tekst 'Gratulacje !' klikamy go i widzimy kod programu

* Possible StringData Ref from Data Obj ->"Gratulacje !"
                                  |
:00404B65 6870A74000              push 0040A770
:00404B6A 8BCE                    mov ecx, esi

5.Ok.Teraz musimy poszukac ostatniego porownania typu CMP,TEST wiec przewijamy tekst w gore i widzimy

:00404B58 E8830D0000              call 004058E0 <--Procedura sprawdzajaca poprawnosc kodu
:00404B5D 85C0                    test eax, eax 
:00404B5F 7430                    je 00404B91   <--Skok good/bad
:00404B61 6A00                    push 00000000
:00404B63 6A00                    push 00000000

6.Wiedzac,ze ostatia procedura zanim wyskoczy komunikat o zarejestrowaniu jest CALL 0040A770  klikamy na niej i z menu wybieramy EXECUTE CALL ladujemy w  

:004058E0 8B442408                mov eax, dword ptr [esp+08]
:004058E4 50                      push eax
:004058E5 E826090000              call 00406210
:004058EA 8B542408                mov edx, dword ptr [esp+08]
:004058EE 83C404                  add esp, 00000004
:004058F1 33C9                    xor ecx, ecx
:004058F3 3BD0                    cmp edx, eax <--porwnanie wygenerowanych seriali
:004058F5 0F94C1                  sete cl
:004058F8 8BC1                    mov eax, ecx
:004058FA C20800                  ret 0008     <--powrt

7.Program generuje 2 seriale jeden na podstawie wprowadzonego przez nas hasla a drugi na podstawie numeru identyfikacyjengo.Potem porownuje te dwa seriale i odpowiednio modyfikuje rejestry.
8.Ustawiamy puapk na 004058F3.
9.Klikamy RUN i ldujemy w 004058F3,znaczy to,e program na samym starcie sprawdza czy by zarejestrowany.Teraz wystarczy sprawdzi co siedzi w rejestrze EAX zamieni warto na system dziesitny i mamy kod lub inaczej robimy tak jak w punkcie 10
10.Wprowadzamy kolejny raz dowolne haso i klikamy OK.Program zatrzymuje dziaanie na wczeniej zastawionej puapce.
11.W oknie debuggera klikamy na EAX i OPER wyglda to mniej wicej tak(przy bednym kodzie)

cmp edx,eax

edx = 00000000 <--liczba wygenerowana na podstawie bednego kodu
eax = 418DD98F <--prawdziwy serial,wygenerowany na podstawie nr id.

Uwaga!
U mnie wyglda to tak,u was moe wyglda troszk inaczej poniewa numery identyfikacyjne na podstawie ktrych tworzone jest prawdziwy serial s za kad instalacj programu inne.

12.Teraz wida,e rejestr EAX zawiera nasz poprawny kod.Uruchamiamy kalkulator systemowy i konwertujemy liczb szesnastkow na dziesitn.Otrzymujemy 

NR ID :1155-818-340
SERIAL:hex 418DD98F
       dec 1099815311 <--serial

13.Gratulacje,znalaze kod do VDeska!
 
Pozdrowienia dla wszystkich crackerw na wiecie!