HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
H CP'98                                                                   H
H             _________\          |            __________                 H
H            /          \      __-+-  __      |         /\                H
H           /___________/     /'( |_  )`\     |________/  \               H
H          |   \       /     / . \/^\/ . \            /   /               H
H           \   \           /  _)_`-'_(_  \          /   /                H
H            \   \         /.-~   ).(   ~-.\        /   /                 H
H             \   \       /'     /\_/\     '\      /   /                  H
H              \  /     __  ___  " __"  __  _ _  \/   /                   H
H               \/     / _)(  ,)  (  ) / _)( ) )  \__/_                   H
H                     ( (_  )  \  /()\( (_  )  \                          H
H                      \__)(_)\_)(_)(_)\__)(_)\_)                         H
H                         ___             __                              H
H                        (  ,\o l a n d  (  )                             H
H                         ) _/ cRACKING   )(__                            H
H                        (_)      gROUP  (____)  "wiat  bez  hackerw,   H
H                             ____     /\        crackerw i  szalonych   H
H                            /  \     /  \       programistw     byby   H
H                           /\   \   /   /       smutny ....., a  sowa   H
H                             \   \ /   /        'protect' & 'security'   H
H                              \___\___/         nie  miay  by  adnej   H
H                                                wartoci..."             H
H                                                                         H
H                                                                         H
H                                                                         H
H  #####################################################################  H
H  #                                                                   #  H
H  #  dATE: [ 23/11/98 ]            wRITED bY: [ AsmGoth/CP'98       ] #  H
H  # tITLE: [ Moje boje z SinkSubPro v2.0 :)))                       ] #  H
H  # wHERE: [ Chip 12/98, www.wihlborg.se                            ] #  H
H  #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#  H
H  # pATCH [ ]      sERIAL# [ ]        kEYGEN [ ]         cRACK   [ ]  #  H
H  #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#  H
H  #####################################################################  H

Witam po raz kolejny. Nie bdzie to standartowy tutorial, jakiego si mona
spodziewa, ale opis sposobu w jaki udao mi si zcrackowa t gierke.
Jeeli nie czytae moich wczeniejszych tutoriali to musisz si z nimi 
zapozna, gdy bd robi pewne skrty i nie bd opisywa dokadnie co i jak
Okej Let's go
Zaczem standartowo: puapki na getwindowtexta,getdlgitemtexta. No wietnie
zadziaao. Znalazem miejsce gdzie jest wpisany moj wymyslony kod i lipa.
W trakcie sledzenia programu, okazalo sie ze ten kod jest modyfikowany ;((. 
Hmm waciwie to kilka razy jest cosik robione z nim. To mnie ostudzilo ;))
Postanowilem jednak sie nie poddawac tak szybko. Postanowilem zaczac 
poszukiwania od konca. Skasowalem istniejace pulapki :bc * i zalozylem
nowa :bpx messageboxa. No to rejestrujemy "wyskakuje boxik" i jestesmy w SI.
F11 wyskakujemy z funkcji (hmm i czasami z SI (??), pokombinujcie z rozna 
dlugoscia seriala). Dobra przewinem troszkie do gory ekran z kodem
(ctrl+strzaleczki) i ujrzaem cosik takiego:
015F:0040CEBF  90                  NOP
015F:0040CEC0  A18CFA4100          MOV     EAX,[0041FA8C]
015F:0040CEC5  56                  PUSH    ESI
015F:0040CEC6  85C0                TEST    EAX,EAX
015F:0040CEC8  0F85AC000000        JNZ     0040CF7A
015F:0040CECE  8B742408            MOV     ESI,[ESP+08]
015F:0040CED2  A144FB4100          MOV     EAX,[0041FB44]
015F:0040CED7  6A00                PUSH    00
015F:0040CED9  6810A74000          PUSH    0040A710
015F:0040CEDE  56                  PUSH    ESI
015F:0040CEDF  6864C74100          PUSH    0041C764
015F:0040CEE4  50                  PUSH    EAX
015F:0040CEE5  FF1548454200        CALL    [USER32!DialogBoxParamA]
015F:0040CEEB  85C0                TEST    EAX,EAX
015F:0040CEED  0F84B4000000        JZ      0040CFA7
015F:0040CEF3  A18CFA4100          MOV     EAX,[0041FA8C]
015F:0040CEF8  85C0                TEST    EAX,EAX
015F:0040CEFA  742D                JZ      0040CF29
015F:0040CEFC  6810C34100          PUSH    0041C310
015F:0040CF01  56                  PUSH    ESI
015F:0040CF02  FF153C454200        CALL    [USER32!SetWindowTextA]
015F:0040CF08  6A40                PUSH    40
015F:0040CF0A  6A2B                PUSH    2B
015F:0040CF0C  E81F5BFFFF          CALL    00402A30
015F:0040CF11  83C404              ADD     ESP,04
015F:0040CF14  50                  PUSH    EAX
015F:0040CF15  6A2A                PUSH    2A
015F:0040CF17  E8145BFFFF          CALL    00402A30
015F:0040CF1C  83C404              ADD     ESP,04
015F:0040CF1F  50                  PUSH    EAX
015F:0040CF20  56                  PUSH    ESI
015F:0040CF21  FF15A4444200        CALL    [USER32!MessageBoxA]
015F:0040CF27  5E                  POP     ESI
015F:0040CF28  C3                  RET
015F:0040CF29  6A09                PUSH    09
015F:0040CF2B  E890D2FFFF          CALL    0040A1C0
015F:0040CF30  A148FB4100          MOV     EAX,[0041FB48]
015F:0040CF35  83C404              ADD     ESP,04
015F:0040CF38  85C0                TEST    EAX,EAX
015F:0040CF3A  6A10                PUSH    10
015F:0040CF3C  6A2C                PUSH    2C
015F:0040CF3E  741D                JZ      0040CF5D
015F:0040CF40  E8EB5AFFFF          CALL    00402A30
015F:0040CF45  83C404              ADD     ESP,04
015F:0040CF48  50                  PUSH    EAX
015F:0040CF49  6A2D                PUSH    2D
015F:0040CF4B  E8E05AFFFF          CALL    00402A30
015F:0040CF50  83C404              ADD     ESP,04
015F:0040CF53  50                  PUSH    EAX
015F:0040CF54  56                  PUSH    ESI
015F:0040CF55  FF15A4444200        CALL    [USER32!MessageBoxA]
015F:0040CF5B  5E                  POP     ESI
015F:0040CF5C  C3                  RET
015F:0040CF5D  E8CE5AFFFF          CALL    00402A30
015F:0040CF62  83C404              ADD     ESP,04
015F:0040CF65  50                  PUSH    EAX
015F:0040CF66  6A2E                PUSH    2E
015F:0040CF68  E8C35AFFFF          CALL    00402A30
015F:0040CF6D  83C404              ADD     ESP,04
015F:0040CF70  50                  PUSH    EAX
015F:0040CF71  56                  PUSH    ESI
015F:0040CF72  FF15A4444200        CALL    [USER32!MessageBoxA]
015F:0040CF78  5E                  POP     ESI
015F:0040CF79  C3                  RET
015F:0040CF7A  6A09                PUSH    09
015F:0040CF7C  E83FD2FFFF          CALL    0040A1C0
015F:0040CF81  83C404              ADD     ESP,04
015F:0040CF84  6A40                PUSH    40
015F:0040CF86  6A28                PUSH    28
015F:0040CF88  E8A35AFFFF          CALL    00402A30
015F:0040CF8D  83C404              ADD     ESP,04
015F:0040CF90  50                  PUSH    EAX
015F:0040CF91  6A2F                PUSH    2F
015F:0040CF93  E8985AFFFF          CALL    00402A30
015F:0040CF98  8B4C2414            MOV     ECX,[ESP+14]
015F:0040CF9C  83C404              ADD     ESP,04
015F:0040CF9F  50                  PUSH    EAX
015F:0040CFA0  51                  PUSH    ECX
015F:0040CFA1  FF15A4444200        CALL    [USER32!MessageBoxA]
015F:0040CFA7  5E                  POP     ESI
015F:0040CFA8  C3                  RET
Jak widzimy wywolan MessageBoxA jest kilka, pobawilem sie z ta procka,
zmieniajac flagi przy skokach i obserwowalem co sie dzieje. Nie bede
tu opisywal co i ja bo: 
po pierwsze: nie pamietam co i jak ;)))
po drugie:   sam to moesz zrobi ;))
Zauwacie pewn instrukcj pojawiajc si kilka razy:
MOV     EAX,[0041FA8C]
Hmm no tak wyglda to jak znacznik zarejestrowania. Dlaczego tak 
sdze?? Bo po ktrym skoku cieszyem oko widokiem zarejestrowania ;))
Dobra wyczyscilem pulapki :bc*
i zalozylem kolejna 
:bpmb 0041fa8c rw
Wyszedlem z SI, i probowalem zarejestrowac gierke, hmm pulapka dzialala
ale nic ciekawego nie znalazlem :(( Hmm nagle mnie olsnilo. Zamknalem
program i odpalilem na nowo. No teraz calkiem, calkiem:
015F:0040AAE2  50                  PUSH    EAX
015F:0040AAE3  51                  PUSH    ECX
015F:0040AAE4  FFD5                CALL    EBP
015F:0040AAE6  F7D8                NEG     EAX
015F:0040AAE8  1BC0                SBB     EAX,EAX
015F:0040AAEA  40                  INC     EAX
015F:0040AAEB  A38CFA4100          MOV     [0041FA8C],EAX ; Znacznik zarejestrowania
015F:0040AAF0  7576                JNZ     0040AB68
015F:0040AAF2  8D54243C            LEA     EDX,[ESP+3C]
015F:0040AAF6  52                  PUSH    EDX
015F:0040AAF7  FF150C454200        CALL    [USER32!CharUpperA]
015F:0040AAFD  8D44243C            LEA     EAX,[ESP+3C]
015F:0040AB01  33F6                XOR     ESI,ESI
015F:0040AB03  50                  PUSH    EAX
015F:0040AB04  FF1594434200        CALL    [KERNEL32!lstrlen]
015F:0040AB0A  85C0                TEST    EAX,EAX
015F:0040AB0C  7E2F                JLE     0040AB3D
015F:0040AB0E  0FBE44343C          MOVSX   EAX,BYTE PTR [ESI+ESP+3C]
015F:0040AB13  83F841              CMP     EAX,41
015F:0040AB16  7C0E                JL      0040AB26
015F:0040AB18  83F85A              CMP     EAX,5A
015F:0040AB1B  7F09                JG      0040AB26
015F:0040AB1D  0FAF05D8F94100      IMUL    EAX,[0041F9D8]
015F:0040AB24  EB05                JMP     0040AB2B
Jest wreszcie !!! Dobra trzeba teraz jakos wstawic 01 do eax i program juz na starcie
bedzie zarejestrowany ;)) Hmm ta czesc kodu:
015F:0040AAE6  F7D8                NEG     EAX
015F:0040AAE8  1BC0                SBB     EAX,EAX
015F:0040AAEA  40                  INC     EAX
nie bedzie nam potrzebna. Zamiast niej umiescimy komende mov eax,00000001
Kasujemy pulapki :bc* i wychodzimy SI. Teraz pora odpalic jakiegos edytorka 
Ja uzywam Hieva 5.92 ale moe by dowolny. Kopiuje plik sspro32.exe do innego katalogu.
Znajduje offset aae6 (f5 i .aae6 w hiev)i wklepuje zamiast F7d81bc040 taki oto ciag b801000000
co odpowiada komendzie mov eax,00000001. Oki F9 i F10 i sprobujmy odpalic progsa. Zalama :((
Wyrzuca mi jakies info o zwaleniu jakiegos progsa itp itd. To co sie teraz stalo bylo 
kolejnym cudem nad Wis. Po raz kolejny sprawdzio si powiedzenie e crackerom potrzebne 
jest szczcie ;)) Przez przypadek zmienilem nazwe zapatchowanego progsa na inna i skopiowalem
orginalnego do katalogu, aby sprawdzic czy sie cosik gdzies nie namieszalo w rejestrach ze wali
ten komunikat i odpaliem tego poprawnego. Odpalil sie jako unregistered, ale to oznaczalo 
ze to wina tego zapatchowanego. Dobra odpalam tego zapatchowanego i..........fiu co ja widze ??
Registered to AsmGoth/CP!. Hmm myle sobie co jest grane ?? Skd on wiedzial ?? W windowsach 
znalazlem plik sspro.ini, a wiec tam s zapisywane dane z rejestracji. Hmm ale, name jest okej ale
number jest jakis lewy, to nie to samo co ja wpisywalem to jakis szyfrowany :)), i na pewno to nie
jest ten wlasciwy! Ech co si zamartwia, przecie caly czas mam tamtego zapatchowanego, ktry
chodzi. Dobra no to usunem znowu orginaa, odpalam poprawionego i kolejny komunikat. Tym razem
cosik, e nie moe znale pliku sspro32.exe i jeszcze jakiego helpa. Ano tak nie zmienilem nazwy,
Zmieniam nazwe odpalam i znajomy komunikat o koniecznej nowej instalacji ze wzgledu na uszkodzenie
jakiegos pliku. 
No c zmieniem nazw zapatchowanego na loader.exe ;)), wrzuciem orginaa do katalogu i zrobiem
linka do loader.exe 
Od tej pory wita mnie: Registered by AsmGoth/CP!
Prbowaem jeszcze w Wdasmie crackna coby sie rejestrowal na dowolny serial. Ale cosik 
chrzanio mi si. Znalazem miejsce w ktrym jest sprawdzenie (tak mi si wydaje) ale 
po zamianie skokw przywita mnie nowym komunikatem o uszkodzeniach pliku czy cosik takiego ;((
Daem sobie spokj, przecierz cel zosta w zasadzie osignity. Metoda jest najgorsza jaka moe 
by ale cel uwica rodki.
Mam jeszcze par pomysw np. poszuka z czym porwnywany jest ten serial z sspro.ini
moe z prawidowym ?? I wystarczyo by zamieni te seriale w pliku ?? Hmm chyba jednak tak
nie bdzie i dlatego nie chce mi si sprawdza ;)) Moe Wy si tym zajmiecie ?? Moe przeledzicie
co on waciwie robi z tym wpisanym przez nas serialem ?? Moe si czego nauczycie, bo z tego 
tuta to mona tylko jednego si nauczy: eby prze do przodu i nie zalamywa si przy pierwszej
porace, odrobina szczscia i kolejny progs na waszym kocie bdzie zrobiony ;))))
Dlaczego to dziaa w taki sposb ?? Podejrzewam e sprawdzana jest crc pliku, program sprawdza
plik odwoujc sie przez nazw sspro32.exe. Nasz plik zwie si teraz loader.exe. Ale w katalogu
jest jeszcze orginal ;)) Wiec sprawdzany jest nasz orginal, poniewa w nim nie ma zmian, program
leci dalej nie podejrzewajc, e nastpia zmiana nazwy pliku z ktrego jest odpalany !!!
To czysta teoria poniewa jestem leniuch i nie sprawdziem tego. Zadanie to zostawiem dla Ciebie.
Moesz pokombinowa zostawiajc puapki na otwarcie pliku i takie tam, i zobaczyc co waciwie si
dzieje. To tyle pobawcie si jeszcze tym progsem, moe cosik nowego odkryjecie ;))

 
UWAGA !!! Jeli udao ci si zama t gr w inny sposb lub masz jakie pytania skontakuj si ze 
          mn :
	asmgoth@irc.pl 
      (powinien ju dziaa ;)))