Vanor - Tutorial: Registrierung von Web Graphics Optimizer v4.0

Programm: 	Web Graphics Optimizer v4.0
Beschreibung: 	Optimiert Deine Webgrafiken
Autor: 		(c)1997, 1998 Plenio Software Solutions
Gre: 		884.736 Bytes (WebOpt.exe)


Werkzeug: - SoftIce
	  - HexWorkshop
          
1. So als erstes mssen wir den Schutz herausbekommen. Dazu starten wir "WebGraphicsOptimizer" und es
   erscheint auch schon ein Fenster, wo wir uns registrieren lassen knnen.
   Da wir nun so eine Option gefunden haben, steht nun eines fest :

   "WebGraphicsOptimizer" nuzt eine Serial-Number als Schutz.

   So nun noch ermitteln ob "WebGraphicsOptimizer" ein VB Programm ist ! Wenn es kein VB Programm ist und
   es auch kein Disassembler-Schutz drin hat, nehmen wir normalerweise WDasm. Um also herauszubekommen
   um welch eine Art von Programm es sich handelt, starten wir HexWorkshop und laden WebGraphicsOptimizer
   hinein. Nachdem wir etwas heruntergescrollt haben sehen wir folgendes "MSVBVM60.DLL". Also ist 
   "WebGraphicsOptimizer" ein Visual Basic 6.0 Programm und wir nutzen nun SoftIce um die Serial herauszuholen. 

2. SoftIce konfigurieren (falls ntig) und System neu starten. Danach laden wir "WebGraphicsOptimizer".

   Grundeinstellung		: EXP=c:\windows\system\kernel32.dll
				  EXP=c:\windows\system\user32.dll
				  EXP=c:\windows\system\gdi32.dll
				  EXP=c:\windows\system\comdlg32.dll
				  EXP=c:\windows\system\comctl32.dll
				  EXP=c:\windows\system\advapi32.dll
   
   bei VB Programmen     	: EXP=c:\windows\system\vb40032.dll	-> Visual Basic 4.0
                           	  EXP=c:\windows\system\msvbvm50.dll	-> Visual Basic 5.0
                           	  EXP=c:\windows\system\msvbvm60.dll	-> Visual Basic 6.0
    			

4. Falls noch nicht erfolgt, starten wir jetzt "WebGraphicsOptimizer". Wir gehen in das 
   "Register" Men und geben unsere Daten ein. Zum Beispiel:

    Name			: Vanor
    Company			: DOOM
    City		    	: DOOMTOWN
    Registration Code 		: 112233445566778899 

   Aber wir klicken noch nicht auf REGISTER !!!

5. Jetzt gehen wir mit CTRL-D in SoftIce rein. Dort setzen wir einen Breakpoint "bpx __vbastrcmp" und
   verlassen SoftIce mit CTRL-D oder F5. Jetzt klicken wir auf "REGISTER" ! Wow, SoftIce stoppt das
   Programm, wir drcken 1x F11 (um den Call zu verlassen) und nun sehen wir folgende Zeilen: 

015F:004C7C38 E8A7C9F3FF              Call MSVBVM60!__vbaStrCmp		; unser Breakpoint
015F:004C7C3D 85C0                    test eax, eax			; hier sind wir jetzt
015F:004C7C3F 750F                    jne  004C7C50
015F:004C7C41 BA14244100              mov  edx, 00412414
015F:004C7C46 8D4DD8                  lea  ecx, [ebp-28]
015F:004C7C49 E8E4C9F3FF              Call MSVBVM60!__vbaStrCopy
015F:004C7C4E EB5E                    jmp  004C7CAE

 SNIP

   Aha ! Nun scrollen wir mit F10 (2x drcken) nach weiter bis wir folgende Codezeilen sehen:

015F:004C7C50 FF75D8                  push dword ptr [ebp-28]		; hier schauen wir mal rein
015F:004C7C53 681C974100              push 0041971C
015F:004C7C58 E887C9F3FF              Call MSVBVM60!__vbaStrCmp
015F:004C7C5D 85C0                    test eax, eax
015F:004C7C5F 750F                    jne 004C7C70

 SNIP

Also an der Zeile 015F:004C7C50 schauen wir uns mal das offset [ebp-28] an !
Dazu geben wir folgenden Befehl in SoftIce ein:

	d ebp-28		-> Zeige den Inhalt einer Adresse, eines Offsets oder eines Registers an
				   in diesem Fall Offset ebp-28

Nachdem wir diesen Befehl eingeben haben, erscheint in der 1. Zeile im Data Window von SoftIce folgendes:

0167:0070D81C 4C BC 4F 00 44 3B 4F 00-D5 06 00 00 38 D9 70 00  L.O.D;O.....8.p.

SNIP

Da in ebp-28 ein Dword steht interessieren uns nur die ersten 4 Bytes (rckwrts gelesen)-> 004FBC4C.
Wir haben also eine Adresse gefunden und da die Adresse vor einem Vergleich (__vbaStrCmp) gepusht wird, mu
also etwas wichtiges drin stehen ;)
Wir geben also folgenden Befehl ein, um etwas schlauer zu werden:

	d 4FBC4C

Nachdem wir diesen Befehl eingeben haben, erscheint im Data Window von SoftIce folgendes:
 
0167:004FBC4C 57 00 50 00 31 00 2D 00-30 00 35 00 30 00 2D 00  W.P.1.-.0.5.0.-.
0167:004FBC5C 37 00 34 00 39 00 2D 00-36 00 37 00 30 00 2D 00  7.4.9.-.6.7.0.-.
0167:004FBC6C 31 00 34 00 33 00 2D 00-38 00 39 00 39 00 30 00  1.4.3.-.8.9.9.0.
0167:004FBC7C 2D 00 38 00 39 00 39 00-30 00 2D 00 38 00 30 00  -.8.9.9.0.-.8.0.
0167:004FBC8C 33 00 00 00 70 00 67 00-00 00 00 00 64 00 00 A0  3...p.g.....d...

SNIP 

Wow, da sieht ja wie ein RegCode aus, also schnell mal notiert:

		WP1-050-749-670-143-8990-8990-803

5. Nachdem wir nun genug wissen, lschen wir unseren Breakpoint (Befehl: bc *) und verlassen 
   SoftIce (CTRL-D oder f5). Wir erhalten nun einen Hinweis, da unser Code (112233445566778899)
   falsch ist. Aber das strt uns nicht, denn wir haben hoffentlich den richtigen Code gefunden.
   Nun tauschen wir unseren RegCode gegen den gefundenen Code ein und klicken auf "Register".
   Yeah, wir sind nun ein "registrierter" User von WebGraphicsOptimizer.

6. WebGraphicsOptimizer kann nun mit dem gefundenen Code freigeschaltet werden.

   z.B. Name     : Vanor
	Company  : DOOM
        City     : DOOMTOWN  
	RegCode  : WP1-050-749-670-143-8990-8990-803

7. Hinweis :

   Nach erfolgreicher Registrierung schreibt "WebGraphicsOptimizer" die Registrierdaten
   in die Datei "license.dat" im "WebGraphicsOptimizer"-Verzeichnis !


Viel Spa beim CRACKEN!
Vanor [DOOM]
14.03.1999


