             ___  ___ _  _   ____   ___ ____   ____   ____
           _/  /_/  // \/ \ /    \ /  //    \ /    \ /    \
          /_   _/  //      \  ___//  //  ___//  ___//  ___/
           /  //__//        \___//  //  ___//___  //___  /
          /______//___\__/\  \_//____/___ / \____/ \____/
                           \__\
             

                     ~~~~~~~~tIMELESS~~~~~~~~
                       Member of fRACTUs`99


   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | Keygen ( )   RegKey ( )   Regfile ( )   Crack ( )   Appz  ( ) |                                                              
   |                                                               | 
   | Tutor  (x)   Progz  ( )   Message ( )   Filez ( )   Other ( ) |                                                              
   |                                                               | 
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Tutor 2:
~~~~~~~~

Programm: WinRescue98
Cracker: tIMELESS
Bentigte Zeit: 5 min
Bentigte Tools: W32Dasm 8.9, Hex-Editor


Auf zum nchsten Streich!
~~~~~~~~~~~~~~~~~~~~~~~~~

Tja, ich bin wieder da. Diesmal musste WinRescue98 dran glauben. 
Tolles Tool (zur Sicherung der Systemdateien unter Win98), und da ich
immer noch auf meinem Microsoft ERU festsitze, musste mal was Neues her.

Der Anfang:
~~~~~~~~~~~

...war nicht schwer. Programm installieren, starten, die Codeabfrage kommt 
gleich am Anfang, falscher Code eingeben und..... "WARNING! Incorrect Key".
Merken! Auf in den W32Dasm, disassemblieren, String Data Reference whlen, 
nach der Nachricht suchen, fndig werden. Das nochmalige Klicken auf die
Nachricht bringt das Ergebnis: Keine andere Reference im Programm, PERFEKT!
So, jetzt schauen wir uns mal die Codelistings nher an. Da steht:


*Possible StringData Ref from Code Obj -> "WARNING - Incorrect Key Entered"

:00465A73 B8A05B4600            mov eax, 00465BA0
         .                              .
         .                              .


Und darber....


* Referenced by a (C)onditional (U)nconditional Jump at Address
|:004659FF(C)


Wunderbar. Jetzt gehen wir mit Goto Code Location mal zu dieser Adresse.....


:004659FD 85C0                   test eax, eax
:004659FF 7472                   je 00465A73


Any Questions? So jetzt machen wir genauso wie im Tutor 1. Wir schreiben uns
den Offset der Adresse 004659FF raus (der ist 00064DFF), und laden Rescue98.exe
mit einem Hex-Editor rein, gehen zum Offset 00046DFF und patchen die zwei Bytes
mit zwei ... na, wisst ihrs noch? Kleiner Typ: So heisst ein Cracker bei PC.
Richtig! NOP heisst er. Wir patchen also mit zwei 90 (Wert fr NOPs). Warum mit 
zwei? Na, weil die JNE-Instruktion nun mal zwei Bytes hat (Die 74 fr JNE, der
Rest fr die Adresse). Nachdem wir die EXE nun gespeichert haben, gehen wir raus
aus dem Hex-Editor und versuchens mal.........
Irgendwas eingeben... ENTER... und... FREEEUUUU! Ich hab wieder ein Programm ge-
kauft ;-). Wir gehen wieder raus aus dem Programm, nochmal rein...
Bingo, wir werden nicht nochmal gefragt, also hat das Programm keine Start-Check
Routine, wunderbar.

Bitte, liebe Kinder!
Danke, lieber tIMELESS!
 