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

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

   prog name   : CrackMe0 by massh^CookieCrK
   Date        : 05/07/2000
   Writen by   : Mr. Ketchup
   What        : tutorial

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

Czesc!

W tym tutorialu opisze sposob zlamania CrackMe0 by massh^CookieCrK.
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 xxxx xx"
I co wiecie juz?:))) 

Co bedzie nam potrzebne:

- SoftIce w wersji im nowszej tym lepiej
- Turbo Pascal (ewentualnie inny jezyk programowania);
- Hiev v 6.xx 
- duzo kartek papieru
- dlugopis
- kalkulator
- troche zdrowych komorek mozgowych nie wyzartych przez alkochol i inne urzywki.:))


Odaplamy CrackMe i widzimy ze trzeba wpisac tylko password.
No to wpisujemy 123456789 i klikamy Ok. Wyskoczylo okienko ze to nie ten password.
Wchodzimy do SI (Ctrl+D) i zakladamy pulapke.

  bpx getdlgitemtexta

Wychodzimy z SI i klikamy OK. Program sie zatrzymal. Teraz naciskamy F11 aby wyjsc z funkcji.
Naciskamy kilka razy klawisz F10 az dojdziemy do miejsca.


004010F3: E8AC000000                   call     .0004011A4   (1)
004010F8: BF8A204000                   mov       edi,00040208A (2)
004010FD: E836000000                   call     .000401138   (3)

Pierwsza linijka nas nie interesuje. W kolejnej do edi jest ladowane haslo ktore wpisalismy.
W linijce (3) jest procedura. Wchodzimy do niej klawiszem F8.
Ku naszym oczom ukazuje sie taki oto kod programu:

00401138: 33C0                         xor       eax,eax           (1)
0040113A: 812F56657279                 sub       d,[edi],079726556 (2)
00401140: 7517                         jne      .000401159         (3) 
00401142: 83C704                       add       edi,004           (4)

Najpierw rejestr eax jest zerowany a nastepnie od rejestru edi jest odejmowana wartosc
079726556. Czyli w ASCII bedzie to "yreV" Skok z linijki (3) prowadzi do Bad_boy i nastapi
jezeli wynik odejmowania z linijki (2) jest rozny od 0. Czyli aby nam wyszlo 0 trzeba w edi
miec takie znaki jak odejmujemy czyli "yreV" My jednak musimy to wpisac w odwrotnej kolejnosci 
czyli "Very". Wynika to z rotacji Intela czy czegos takiego. W linijce (4) edi jest zwiekszane 
o 4.

00401145: 812F20676F6F                 sub       d,[edi],06F6F6720 (1)
0040114B: 750C                         jne      .000401159         (2)

Tutaj jest podobnie jak z wyrazem "Very" z tym wyjatkiem ze tutaj jest wyraz " goo"(6F6F6720 hex)
I znowu zapisujemy to w odwrotnej kolejnosci. Czyli teraz mamy lacznie "Very goo"

0040114D: 83C704                       add       edi,004            (1)
00401150: 812F64203A29                 sub       d,[edi],0293A2064  (2)
00401156: 7501                         jne      .000401159          (3)

No chyba juz wiecie co trzeba zrobic z tym. Tym razem wyjdzie wam "d :)"

00401158: 40                           inc       eax (1)
00401159: C3                           retn          (2)

Tutaj w linijce (1) eax jest zwiekszany o jeden i nastepuje powrot z procedury (linijka 2).
Dalej jest juz tylko sprawdzenie czy w eax jest 1 i jezeli jest to "Great work!" 

Ostateczny password: "Very good :)"


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=-