                     _______                   ______
                     |   _   |-----.--.--.-----.   _  \
                     |   1___|  -__|  |  |  -__|.  |   |
                     |____   |_____|\___/|_____|.  |   |
                     |:  1   |                 |:  |   |
                     |::.. . | POLISH CRACKERS |::.|   |
                     `---===='__             __`-==_---'
                        |       |-----.---.-.   Y   |
                        |.|   | |  -__|  _  |.      |
                        `-|.  |-'_____|___._|. \_/  |
                          |:  |             |:  |   |
                          |::.|             |::.|:. |
                          `---'             `--- ---'

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=i n f o r m a t i o n s-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

   prog name   : CrackMe v3.0 by Massh
   Date        : 06/07/2000
   Writen by   : Mr. Ketchup
   What        : tutorial

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-t u t o r i a l-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Czesc!

W tym tutorialu opisze sposob zlamania CrackMe v3.0 by Massh
Programik ten powinien byc dolaczony do pliku "zip" w ktorym byl ten tekst.
Jak ktos jest jasnowidzem i chce tylko wiedziec w jakiej formie bedzie haslo to specjalnie
pisze. Bedzie cos w stylu "xxxx"- klucz i dalej "xxxxxxxxx" czyli nasz nick
I co wiecie juz?:))) 

Co bedzie nam potrzebne:

- SoftIce w wersji im nowszej tym lepiej
- monitor plikow
- Hiev v 6.xx 
- duzo kartek papieru
- dlugopis
- kalkulator
- przyda sie takze "Shl,Shr i inne by Pawlos"-znajdziesz na stronie SeveN TeaM 
- troche zdrowych komorek mozgowych nie wyzartych przez alkohol i inne urzywki.:))

No to zabieramy sie do roboty.
Uruchamiamy CrackMe i widzimy napis "Key file not..."
Czyli program szuka pliku rejestracyjnego. 

Teraz uruchamiamy File monitor i CrackMe. OK Przegladamy liste plikow z ktorych program chcial 
skorzystac. A co to. Nie znalazl przecierz pliku "Crackme3.key"
Teraz zakladamy taki plik.(W tym samym katalogu co crackme!). 
Po odpaleniu crackme zobaczymy napis "Wrong key..."
Wchodzimy do SI i zakladamy pulapke na createfilea

 bpx createfilea

Wychodzimy z SI i uruchamiamy CrackMe. Program sie zlapal. Naciskamy F11 i kilka razy F12 do 
czasu kiedy na belce (pierwszej od dolu) pojawi sie napis "crackme3".

00401023: E8DC000000                   call     .000401104  
00401028: 83F8FF                       cmp       eax,-001   <-----(1)
0040102B: 745B                         je       .000401088  <-----(2) 
0040102D: A304204000                   mov       [000402004],eax
00401032: 6A00                         push      000
00401034: 681E204000                   push      00040201E
00401039: FF351E204000                 push      d,[00040201E]
0040103F: 689A204000                   push      00040209A 
00401044: FF3504204000                 push      d,[000402004]
0040104F: 8BD8                         mov       ebx,eax
00401051: FF3504204000                 push      d,[000402004]
00401057: E8AE000000                   call     .00040110A   
0040105C: 83FB00                       cmp       ebx,000 ;" "
0040105F: 742E                         je       .00040108F   
00401061: 833D1E20400000               cmp       d,[00040201E],000
00401068: 7425                         je       .00040108F   
0040106A: E83C000000                   call     .0004010AB   <----(3)
0040106F: 85C0                         test      eax,eax     <----(4);

No to w linijce pierwszej jest sprawdzanie czy jest plik Crackme3.key i jezeli brak to wypad
nastapi pod adres z (2). Potem jest troche smiecia polegajacego na pobieraniu danych z pliku.
Ja w swoim pliku mam "abcdef"
Linijka (3) jest bardzo wazna gdyz odpowiada za sprawdzenie poprawnosci pliku. Wejdz to tego 
call'a(F8)

004010AB: BF9A204000                   mov       edi,00040209A   (1)
004010B0: 8B07                         mov       eax,[edi]       (2)
004010B2: 8B0D1E204000                 mov       ecx,[00040201E] (3)
004010B8: D3C8                         ror       eax,cl          (4) 
004010BA: 3D65873412                   cmp       eax,012348765   (5)

W (1) linijce do edi ida dane z naszego pliku. 
           Wpisz "d edi" aby je zobaczyc

W (2) linijce do eax idze to co bylo w edi. (tylko 4 pierwsze znaki) 
Ale tym razem aby je zobaczyc nalezy wpisac "? eax"
Wszystko jest odwrocone z powodu notacji Intela czy jakiegos takiego szajsu. 

W (3) linijce do ecx idzie liczba znakow ktore wpisalismy w pliku.

W (4) linijce jest obrot w prawo eax o cl(ecx)

W (5) linijce jest porownanie tego co jest w eax z 12348765 i jezeli sie nie
zgadza to spadaj_frajerze

Ok teraz trzeba by to odwrocic. 
Zapiszy sobie to co crackme robi w postaci rownania

               XXXX ror cl=12348765

U mnie bylo to tak:
               dcba ror 6=12348765

Teraz aby wyliczyc poprawne 4 pierwsze znaki trzeba zrobic cos takiego
  
              XXXX=12348765 rol 6
Mozna te operacje wykonac w SI lub zkorzystac z "Shr,shl i inne by Pawl0s"

Dla mnie wyszlo ze pierwsz 4 znaki to 8D21D944 ( to jest wartosc w hex)
Teraz odpalamy Hiev i ladujemy "CrackMe3.key" Teraz wstukujemy te cyferki 
ale od prawej do lewej. Ale nie tak zupelnie. Zobacz jak ja to zrobilem.
Czyli musimy wpisac 44D9218DXX. 
Te dwa koncowe XX to dowolne znaki ktore mozesz sobie wybrac.
Wszystko jest spowodowane ta notacja Intela.

Teraz odpalamy CrackMe i widzimy namis Great Work. I jakies krzaki. Tak dobrze myslisz.
To sa nasze dwie literki po przejsciach.


Teraz musimy wrocic do miejsca gdzie program sprawdzal pierwsze 4 znaki.
Troche nize zobaczysz cos takiego:
_.004010C1: 83C704                       add       edi,004       (1)
_.004010C4: 8BF7                         mov       esi,edi       (2)
_.004010C6: 803F00                       cmp       b,[edi],000   (3)
_.004010C9: 7408                         je       .0004010D3     
_.004010CB: 000F                         add       [edi],cl      (4) 
_.004010CD: 803712                       xor       b,[edi],012   (5)
_.004010D0: 47                           inc       edi           (6) 

(1)- zwiekszenie edi o 4 czyli jak w pliku "crackme3..." wpisalismy 123456(Dane teoretyczne)
     to teraz nam zostanie tylko 56

(2)- do esi idzie to co mamy w edi

(3)- sprawdzenie czy przypadkiem znaki ktore wpisalismy w "crackme3.." sie nie skonczyly

(4)- zwiekszenie wartosci hex literki ktora wpisalismy o wartosc cl(ecx) czyli o liczbe znakow 
     w pliku

(5)- xor'owanie wartosci z linijki (5) z 12h. 
     Znak jaki teraz uzyskamy zostanie wyswietlony.

(6)- zwiekszenie edi o 1.

Operacja powtarzana jest za zkoncza sie znaki.

Teraz zaczynamy to odwracac.

       X+cl xor 12h=Y

X- znak ktory wpisujemy w pliku "crack..."
Y- znak ktory zostanie wyswietlony

a wiec: Y xor 12h -cl=X

I teraz wystarcz sobie obliczyc wszystkie znaki. 

Ja chce wyswietlic napis ST (SeveN TeaM) 
A wiec musze wpisac:
 
 S(83ASCII,53h)
 T(84ASCII,54h)

W SI mozna zapisac to tak
  
   53^12-6
   54^12-6

Uzyskalem wyniki 3B i 40.A wiec znaki ";" i "@" 
Wpisuje je do pliku "Crackme3..." i ciesze sie zlamaniem crackme.

Jezeli generujesz plik rejestracyjny dla siebie to pamietaj ze liczba o ktora sa ror'owane 
pierwsze 4 znaki zalezy od ilosci liter w pliku. Podobnie jest przy generowaniu napisu
"Registered to:xxxx" 

                   Ale meczacy ten tutorial. Idzesz ze mna na piwo??(Bezalkoholowe)

I to by bylo na tyle. Wszelie uwagi kierowac pod adres mr_ketchup@poczta.onet.pl
Jezeli jednak ktos czegos nie rozumie to niech do mnie nie pisze. Wszystko wyjasnilem tak jak 
umialem najlepiej.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=members of SeveN TeaM-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  Prezident:      MaxiBogas...........................founder/coder/cracker
  VizePrezident:  Plastek.............................founder/coder/cracker
  Seniors:
                  pawlos............................................cracker
                  Mr. Ketchup.......................................cracker 
                  Rusty.............................................cracker
  Division:
                  Jube........................................cracker/coder
                  {ATOM}....................................decoder/cracker
                  jamman............................................cracker
  Trial:
                  Pokropek..........................................cracker
                  lukasw............................................cracker
                  Dumboo............................................cracker
                  zoomek.....................................writer/cracker
  WebPage:
                  LIAR..............................webmaster/graphic/coder
                  _2000_.......................................server_admin

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o t h e r s-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  Greets to : MGKiler, MaxiBogas, My dog, 
     groups : CrackPL, AAOCG, CookieCrk

  My e-mail: mr_ketchup@poczta.onet.pl
             ~~~~~~~~~~~~~~~~~~~~~~~~~
  SeveN TeaM - Official WebPage:  http://www.7team.z.pl
                                  ~~~~~~~~~~~~~~~~~~~~~
-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-=-=-=E-O-T=-