Cel		: System Mechanic 3.0b
Opis		: Narzdzie suce oczyszczaniu systemu ze zbdnych
		  plikw, historii przegldarek, martwych skrtw,
		  program nawet oczyszcz systemowy rejestr ze mieci,
		  umoliwia bezpieczn instalacj aplikacji, startup
		  manager w jednym sowem kombajn w swojej klasie
Gdzie szuka	: Chip 11/99
URL		: http://www.iolo.com
Tools		: SoftIce 3.xx

Program ma 4 tryby pracy standard,professional,industrial przy czym
standard posiada najmniej opcji czyszczenia systemu w przeciwiestwie
do trybu pracy industrial, ktry oferuje wszystkie moliwoci programu
4 tryb to tryb 30 dniowej ewaluacji, mamy wtedy dostp do wszystkich
opcji programu, ale po 30 dniach finisz.

1.Program na starcie prosi o rejestracj, wpisujemy dane
name	: bart
serial	: 987654321
2.Wchodzimy do SI zakadamy puapk na hmemcpy, wychodzimy z SI,
naciskamy OK, SI zatrzymuje program na 1 wywoaniu hmemcpy, potem
naciskamy F5,11 razy F12(standard Delphi) widzimy kod:

.004A89F0: 8B83DC010000		mov       eax,[ebx][0000001DC]
.004A89F6: E8A59EF7FF		call     .0004228A0
.004A89FB: 8B45F8		mov       eax,[ebp][-0008]	; eax wskazuje na user name
.004A89FE: 5A			pop       edx			; edx wprowadzony serial
.004A89FF: E80C970000		call     .0004B2110----------------------------\
.004A8A04: 84C0			test      al,al                                |
.004A8A06: 740A			je       .0004A8A12                            |
...                                                                            |
.004A8A23: E844F9FFFF                   call     .0004A836C ; czy wprowadzilimy dane
.004A8A28: 84C0                         test      al,al                        |
.004A8A2A: 0F84FC000000                 je       .0004A8B2C <------------------  ; wyjcie jeeli nic nie wpisalimy

                                                                               /
....                    <------------------------------------------------------
.004B214B: 8B45F4                       mov       eax,[ebp][-000C]	; user name
.004B214E: BAA0214B00                   mov       edx,0004B21A0		; text "ILLEGAL"
.004B2153: E84C1DF5FF                   call     .000403EA4		; porwnanie cigw z eax i edx
.004B2158: 750F                         jne      .0004B2169	------	; jeeli si nie rni nastpuje skok
.004B215A: 8B45F8                       mov       eax,[ebp][-0008]   |	; w eax wprowadzony serial
.004B215D: BAA0214B00                   mov       edx,0004B21A0      |	; edx znowu text "ILLEGAL'
.004B2162: E83D1DF5FF                   call     .000403EA4          |	; porwnuje nasz serial z cigiem ILLEGAL
.004B2167: 7404                         je       .0004B216D          /	; jeeli takie same skok---------------
.004B2169: 33DB                         xor       ebx,ebx 	  <--	; zwraca 0 w ebx                      |
.004B216B: EB02                         jmps     .0004B216F		; wyjcie z funkcji z wyzerowanym ebx |
.004B216D: B301                         mov       bl,001		; zwraca 1 w ebx   <------------------/
.004B216F: 33C0                         xor       eax,eax
.004B2171: 5A                           pop       edx
.004B2172: 59                           pop       ecx
.004B2173: 59                           pop       ecx
.004B2174: 648910                       mov       fs:[eax],edx
.004B2177: 6891214B00                   push      0004B2191		; adres powrotu z funkcji
.004B217C: 8D45F4                       lea       eax,[ebp][-000C]
.004B217F: BA03000000                   mov       edx,000000003 ;"   "
.004B2184: E8B319F5FF                   call     .000403B3C
.004B2189: C3                           retn -----------------------
.004B218A: E9A913F5FF                   jmp      .000403538        |
.004B218F: EBEB                         jmps     .0004B217C        /
.004B2191: 8BC3                         mov       eax,ebx <--------	; eax = ebx
.004B2193: 5B                           pop       ebx			; rwnanie stosu
.004B2194: 8BE5                         mov       esp,ebp
.004B2196: 5D                           pop       ebp
.004B2197: C3                           retn				; powrt funkcji

Jeeli przeledzimy kod pod 004A89FF okae si, e program najpierw
sprawdza czy user name lub serial to cig "ILLEGAL", jeeli wpiszemy
takie dane program wywietli messaga z pogrkami i jakim innym
szajsie o amaniu prawa(whokers :P).Dalej:

.004A89FB: 8B45F8		mov       eax,[ebp][-0008]	; eax wskazuje na user name
.004A89FE: 5A			pop       edx			; edx wprowadzony serial
.004A89FF: E80C970000		call     .0004B2110		; sprawdzenie czy "ILLEGAL"
.004A8A04: 84C0			test      al,al
.004A8A06: 740A			je       .0004A8A12		; jeeli al=0 obejcie procki wywietlajcej "straszaka"
.004A8A08: E8AF920000                   call     .0004B1CBC	; message o korzystaniu z nielegalnych numerw
.004A8A0D: E91A010000                   jmp      .0004A8B2C	; wyjcie z procki
...
.004A8A60: 8B55FC		mov       edx,[ebp][-0004]	; edx nasz serial
.004A8A63: 58			pop       eax			; eax 1 poprawny serial
.004A8A64: E83BB4F5FF		call     .000403EA4		; porwnanie cigw z eax i edx
.004A8A69: 7505			jne      .0004A8A70		; jeeli cigi z edx i eax rne obejcie ustawienia esi na 1
.004A8A6B: BE01000000		mov       esi,000000001		;esi "robi" za flag poprawnoci
...
.004A8AA0: 8B55FC		mov       edx,[ebp][-0004]	; to samo co wyej
.004A8AA3: 58			pop       eax			; tyle tylko ,e edx wskazuje na inny poprawny serial
.004A8AA4: E8FBB3F5FF		call     .000403EA4
.004A8AA9: 7505			jne      .0004A8AB0
.004A8AAB: BE02000000		mov       esi,000000002
.004A8AB0: 8D55FC		lea       edx,[ebp][-0004]
...
.004A8AE0: 8B55FC		mov       edx,[ebp][-0004]	; powtrka z rozrywki,edx nasz serial
.004A8AE3: 58			pop       eax			; eax 3 poprawny serial
.004A8AE4: E8BBB3F5FF		call     .000403EA4		; sprawdzenie
.004A8AE9: 7505			jne      .0004A8AF0		; obejcie ustawienia esi
.004A8AEB: BE03000000		mov       esi,000000003		; ustawienie esi na 3
.004A8AF0: 4E                           dec       esi		; jeeli esi byo ustawione na 1(1 serial nam si zgadza) to po dec esi 
.004A8AF1: 7408                         je       .0004A8AFB	; flaga zerowa bdzie ustawiona
.004A8AF3: 4E                           dec       esi		; znowu dekrementuj esi
.004A8AF4: 7413                         je       .0004A8B09	; jeeli flaga zerowa ustawiona skacz(2 serial si zgadza)
.004A8AF6: 4E                           dec       esi
.004A8AF7: 741E                         je       .0004A8B17	; skok gdy 3 poprawny serial si zgadza z naszym wprowadzonym
.004A8AF9: EB2A                         jmps     .0004A8B25	; jeeli nic nie pasuje wyjcie i message o bdnym kodzie


Pod adresami 4A89FF,4A8A64,4A8AE4 warto lookn d eax, i spisa numery.
Gdy spiszemy numery, sprawdzamy czy s one poprawne.Jak si okazuje
1 wycignity serial rejestruje wersj standard,2 rejestruje wersj
proffesional,3 najpeniejsz industrial.Seriale wygldaj tak(dla moich
danych):

84856-ST962-4717865626	; edycja standardowa
90915-PR568-0877471786	; edycja profesjonalna
79806-ND457-9666360675	; edycja industrial

bart