                       ___  ___ _  _   ____   ___ ____   ____   ____
                     _/  /_/  // \/ \ /    \ /  //    \ /    \ /    \
                    /_   _/  //      \  ___//  //  ___//  ___//  ___/
                     /  //__//        \___//  //  ___//___  //___  /
                    /______//___\__/\  \_//____/___ / \____/ \____/
                                     \__\
             
          
                               ~~~~~~~~tIMELESS~~~~~~~~
                                 Founder of fRACTUs`99


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

                  SerialRipping Tutor #2 by tIMELESS - fRACTUs`99
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Vorwort: Hallo und herzlich willkommen zu meinem zweiten SoftICE-Tutorial. 
~~~~~~~~ Nachdem wir beim letzten Mal so einiges Basiswissen ber SoftICE gelernt haben, 
         mchte ich heute etwas tiefer gehen. Das heiss wir rippen eine Serial, die schwerer
         zu finden ist......obwohl sie eigentlich ganz leicht zu finden war ;-)))))
         Naja, bevor ich euch hier noch total verwirre, fangen wir lieber mal an. 


Wir brauchen: SoftICE 3.XX aufwrts
~~~~~~~~~~~~~ TuneUp97 1.1a (denn das wollen wir cracken...gibts auf www.tuneup.de)
              Ein bisschen Zeit


Wir wollen: Die Serial von TuneUp97 1.1a 
~~~~~~~~~~~

...und wir fangen an. Zuerst einmal mssen wir TuneUp97 installieren. Nachdem das getan ist, 
starten wir das Programm. Nach dem StartNag mit Verzgerung gelangen wir in das eigentliche 
Programm. Hier gehen wir zu "ber TuneUp" und dort auf den "Freischalten"-Button. Uns poppt
eine Name/Code-Eingabebox entgegen. Genau das wollen wir haben. Wir geben unseren Namen und
unsere Fakeserial ein. 
ACHTUNG: beim Name muss ein Nachname erfolgen, also zum Beispiel:

tIMELESS [fTs]

Sobald wir das getan haben gehen wir mit STRG+D ins SoftICE und setzen
einen Breakpoint. Nur...welchen? Eines sei vorrausgesagt. Wir knnten mit einem HMEMCPY auf
jeden Fall einbrechen. Nur mssten wir dann ewig und drei Tage nach der richtigen Serial suchen. 
Also ein bisschen in die Standard-BPX-Trickkiste gegriffen und......hmmmm.....

BPX GETWINDOTEXTA
BPX GETDLGITEMTEXTA
BPX GETDLGITEMINT
BPX MESSAGEBOXA

Damit wir nicht alle von diesen BPXs ausprobieren mssen, setzen wir einfach mal alle. Kann ja
nicht schaden ;-). Mit STRG+D wieder raus und den OK-Button bettigt. ~pLoP+....wir sind auf ICE.
Jetzt kann das ganze los gehen! Wir sehen ganz unten, dass wir mit einem GETWINDOWTEXTA gebreakt
haben. OK...dann knnen wir ja mal alle Breaks lschen (BC*), denn die brauchen wir jetzt nicht
mehr...wir sind ja im Programm drin. Wir drcken F11 um unter den CALL-GETWINDOWTEXTA zu kommen, 
bei dem wir jetzt gebreakt sind. Vor uns msste der Code nun folgendermassen aussehen: 

CALL  [USER32!GetWindowTextA]
PUSH   DWORD PTR [EBP+18]
PUSH   DWORD PTR [EBP-0C]
CALL  [KERNEL32!lstrcmp]
PUSH   DWORD PTR [EBP-04]
...           ...
...           ...

Das sollte uns erst einmal zur Orientierung reichen. Das nchste was wir suchen ist unsere 
Fakeserial. Die suchen wir mit einem weiteren Befehl, den man zum ICEn auswendig kennen muss: 

s 0 l fffffffff "XXXXXXXXXX"

dieser Befehl heisst auf normal-Deutsch soviel wie: 

"Suche von 0 an nach einem String "XXXXXXXXXX", und beachte dabei die ersten fffffffff Stellen." 
 
...wobei ffffffff beliebig lang sein kann. Nachdem wir mit diesem Befehl unsere FakeSerial gesucht
(und auch gefunden!) haben, betrachten wir mal das DATA-Fenster oben-rechts....Was sehen wir denn
da...erst einmal unsere Fakeserial und dann....hmmmm...unter unserer Fakeserial steht ungefhr:

XXXXXXXXX.X.X.X<-------unsere Fakeserial(komplett)...und die letzten paar Stellen mit Freizeichen
...............<-------irgendwas
S.O.F.T.W.A.R.E\<------OHO!-----------Diese zwei Zeilen       
M.i.c.r.o.s.o.f.t<-----~sWinG*--------knnen variieren!

Aha, zwischen den einzelnen Buchstaben ist eine Freistelle...das heisst, hier ist purer 32bit-Code
im Spiel. Also liegt der Verdacht nahe, dass unsere eingegebene Fakeserial auch in 32bit irgendwo
steht (also z.B. "X X X X X X X X X") und nicht als 16bit Serial (XXXXXXX) verglichen wird. Scrollen
wir im DATA-Fenster ein paar Seiten nach unten, finden wir auch, was wir suchen: Unsere FS als
32bit-Version. Wir knne daraus folgern, dass auch die richtige Serial im 32bit-Stil gespeichert
ist. Und richtig. Scrollen wir etwas weiter runter finden wir eine ominse Stelle. 
Im DATA-Fenster steht ein interessanter Wert, der ungefhr so aussieht: 

..X.X.X.X.-.X.X.
X.X.-.X.X.X.X.-.
X.X.X........

Und schon haben wir die Serial gefunden. Wie wir gedacht haben als 32bit-Version mit Freistellen
abgespeichert. Wir schreiben sie auf, gehen aus SoftICE raus. Sobald wir den Wert eingegeben haben
dankt man uns...HUIIHHH...wir haben TuneUp97 1.1a geknackt...aber die richtige berraschung kommt 
erst noch. Klicken wir nmlich die "Danke"-Box weg...kommt eine neue Box zum Vorschein, die uns
belehrend mitteilt, dass unser Code veraltet ist. Der Hammer ist aber, das das Programm uns gleich 
den neuen Code mitliefert (immerhin haben wir das Programm ja rechtlich erworben ;-))). So haben
wir mit einem Schlag zwei Serials auf einmal gehackt. Die erste fr die Version 1.0, die zweite, 
die uns die Messagebox gegeben hat fr Version 1.1a. 

Glckwunsch, wir werden immer besser auf ICE.....;-)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Anmerkung: Leider muss ich hinzufgen, dass es vorkommen kann, dass einzelne Stellen in meinem  
~~~~~~~~~~ Tutorial nicht nachvollziehbar sein knnen. Das liegt daran, dass die einzeln 
           genannten Stellen, an denen man die Serial finden kann teilweise stark variieren. 
           So will ich hier im Anhang noch auf die Art der Serial hinweisen, damit sie leichter
           gefunden werden kann. Die Serial besteht aus 4 Blcken, die je durch einen Bindestrich
           voneinander getrennt werden. Die ersten 3 Gruppen bestehen aus je 4 Zeichen, die letzte
           nur aus 3. Also z.B. so:  QWE3-T4AA-DETR-QY8 
           Die Serial steht stets in der Nhe der Stelle, die ich oben beschrieben habe. Fast immer
           weiter unten. Es ist leider schwer, ein Tutorial ber ein Programm zu schreiben, dass
           bei den betreffenden Stellen variiert. Ich wollte es trotzdem schreiben, weil die Programme,
           bei denen man systematisch den Compareteil verfolgen kann schon oft erklrt worden sind.
           

           Ich hoffe ihr habt trotz einiger Schwierigkeiten etwas gelernt ;-)
           Bei Fragen, Anregungen und Kritik stehe ich gerne zur Verfgung 
           (tIMELESS99@gmx.net) 
           



















