
                            
                      
                  
                  
                     
                        
                        
                      
              
           
             
                    
                                             
        www.acg.silesianet.pl- --- ---- -----acg@silesianet.pl
        _ __ ___ ____ _____ ______ _______ ________ __________
        
        [Name .................................KetCrack1_tut ]
        [Author ...................................._AnDrEw_ ]

        PATCH [ ]      CRACK [ ]      SERIAL [ ]    KEYGEN [ ]
        UTIL  [ ]      OTHERS[ ]      LOADER [ ]       TUT [*]
        _ __ ___ ____ _____ ______ _______ ________ __________	


	 	 _______________________________________
                     	 I n f o r m a c j e

	Co :	KetCrack1.exe
	Gdzie :	http://www.crackmes.prv.pl
	Czym :	SoftICE, FrogsIce

	Witam wszystkich w miom nowym tutorku, tym razem zajmiemy si pewnym ciekawym crackme a w zasadzie sposobami na Delphi,na pocztek kilka sw o crackme posiada trzy zabezpieczenia:
1. Anty - SI - ale nie bd o tym pisa bo FrogSice wietnie sobie z tym radzi.
2. FakeCall.
3. Haso.

Do dziea, uruchamiamy nasz program wpisujemy dowolne haso zakladamy BPX HMEMCPY i wciskamy OK! no i po naciniciu F11 i kilkukrotnym naciskaniu F12 ldujemy w miejscu:

:00448B7A 8B55FC                  mov edx, dword ptr [ebp-04]
:00448B7D 8BC3                    mov eax, ebx
:00448B7F E8B0ADFBFF              call 00403934		<-- mao wane sprawdza czy cokolwiek wpisalimy

:00448B84 833B00                  cmp dword ptr [ebx], 00000000
:00448B87 7505                    jne 00448B8E
:00448B89 E88AFCFFFF              call 00448818

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00448B21(C), :00448B87(C)
|
:00448B8E 8B03                    mov eax, dword ptr [ebx]
:00448B90 E8CBAFFBFF              call 00403B60
:00448B95 83F80A                  cmp eax, 0000000A <-- sprawdza dugo musi by = 10 
:00448B98 7D05                    jge 00448B9F
:00448B9A E879FCFFFF              call 00448818

a dalej mamy sprawdzan kad liter po kolei, sprbujemy to odwrci:

----------------------------------------------------------------------------------
nr. 	| funkcja			| funkcja		|     wynik	 |
litery	| sprawdzajca			| odwrcona		| HEX	| litera |
----------------------------------------------------------------------------------
   1	| x shr 02 = $14		| 14 shl 02 = x		|  50	|   P	 |
   2	| x shr 02 = $19		| 19 shl 02 = x		|  64	|   d    |
   3	| x shr 02 = $1D		| 1D shl 02 = x		|  74   |   t	 |
   4	| x shr 02 = $19		| 19 shl 02 = x		|  64   |   d    |
   5	| x shr 02 = $13		| 13 shl 02 = x		|  4C	|   L    |
   6	| x xor 20 = 0			| 20 xor 0  = x  ;))	|  20	| space	 |
   7	| x shl 03 = $2A0		| 2A0 shr 03 = x	|  54	|   T	 |
   8	| x shl 03 = $328		| 328 shr 03 = x	|  65	|   e	 |
   9	| x shl 03 = $308		| 308 shr 03 = x	|  61	|   a	 |
   10	| x shl 03 = $268		| 268 shr 03 = x	|  4D	|   M	 |
----------------------------------------------------------------------------------
Wpisujemy wic PdtdL TeaM wciskamy OK! i ....mamy msgbox(Warning) z treci:

Did you think that crackme will be so easy??:)

czyli FakeCall no oki ale przecie po naciniciu guzika nie byo adnego skoku do innej procki sprawdzajcej ...... czyli wcale nie tzreba wciska tego buttona eby wej do poprawnej procki pewno si zapytacie co trzeba wcisn .. hm .. poszukajmy progs jest napisany w delphi a to dobrze jeli znacie cho troszk tem kompilator to napewno wiecie e docza on jako zosoby ( resources ) pliki z obrazami formatek (*.dfm) a w tych plikach s adresy do eventhandlerw ( takie procki np. onClick, onPaint onCoTam w kadym bd razie wywoywane po jakim zdarzeniu ) no dobra ale jak to znale skoro plik jest spakowany, nic prostszego zakadamy jeszcze raz BPX HMEMCPY wciskamy dowolny znak jestemy w SICE F11 i F12 a bdziemy w gwnym programie wpisujemy 
s -cu 0 l FFFFFFFF 'TForm1' <-- miejmy nadziej e autor nie zmieni standardowych nazw komponentw, jeli by to zrobi to wystarczy wpisa hwnd Ketcrack i zobaczyc :))
No i patrzymy co sIce znalazl a wyglda toto mniejwicej tak:
.TForm1.Form1.Left.. no patrzymy niej a tam :

.TImage.Image1.Left...Top...Width...Height...Constraints.MaxWidth...Picture.Data.... ..TIcon....OnClick..klik...
bardzo ciekawe no nie ... nie mw e nie widzisz.. dobra napisz po ludzku : Image1.OnClick = kilk - teraz lepiej? wic gdy klikniemy na ikonk 7team jest woany call kilk - i co dalej przecie nie mona BPX kilk ;(( ale moemy szuka dalej 
s -cu 0 L FFFFFFFF 'kilk'
no i mamy cosik takiego H.D..klik popatrzmy w hex:
48 8B 44 00 04 6B 6C 69 6B czyli adres procki klik to 00448B48 to do dziea BPX 00448B48
wychodzimy z Sica klikamy na t ikonk ... i jestemy znowu w Sice a tam takie cu:
:00448B48 C60581B8440001                mov byte ptr [0044B881], 01
:00448B4F C3                    	ret
czyli jak kilkniemy na ikonk ustawiana jest flaga [0044B881], ustawiamy wic BPM 0044B881 i prbujemy dalej, klikamy na about ( w menu File - oczywicie dochodzimy do tego metod prb i bedw ) i ... jestemy w Sice czyli mamy poprawn prock sprawdzajc:

:00448CFF 803D81B8440001          cmp byte ptr [0044B881], 01
:00448D06 740A                    je 00448D12   <- skok do procki sprawdzajcej
:00448D08 E8CFF8FFFF              call 004485DC

sama procka jest nieskomplikowana tylko sporo liczenia ... a to liczenie pozostawiam dla Was  bo jest tego troszk ale kada litera da si wyliczy funkcje s bardzo atwe do odwrcenia  a tak naprawd celem tego tutorka byo blisze zapoznanie z sposobami na Delphi :))
Na koniec podam poprawne rozwizanie.

1. Wpisa haso: EMILIA-COME INTO MY LIVE
2. Klikn na ikonk 7Team w prawym dolnym rogu.
3. Wybra about z menu File.

To ju koniec i jedyne co mog Wam yczy to przyjemnego i owocnego liczenia.


_AnDrEw_


        _ __ ___ ____ _____ ______ _______ ________ __________
                 ___        ___      ____
                / _ | ___  / _ \____/ __/    __
               / __ |/ _ \/ // / __/ _/| |/\/ /
           ___/_/ |_/_//_/____/_/ /___/|__/\_/___
          /___/                             /___/

		andrew33@kki.net.pl
        _ __ ___ ____ _____ ______ _______ ________ __________