Dark Heaven - Tutorial: Registrierung von WinConfig


Programm: 	WinConfig v3.0
Beschreibung: 	Windows-Konfiguration
Autor: 		(C) 1998 by Mathias Harbeck
Groesse: 	1.050.112 Bytes (WCONFIG.EXE)


Werkzeug: - W32DASM v8.93


1. Lade WINCONFIG und anschlieend W32DASM.


2. Deassembliere nun WCONFIG.EXE ber [Debug/Attach to an Active Process].


3. Suche nun mittels [Refs/String Data References] nach der Fehlermeldung
   "Ihre Lizenznummer ist nicht korrekt!". Durch einen Doppelklick wird die
   entsprechende Zeile im Listing angezeigt: 00418048.

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00417F05(C)
|
:0041803C A174074B00              mov eax, dword ptr [004B0774]  ; Sprung suchen
:00418041 6A30                    push 00000030

* Possible StringData Ref from Data Obj ->"Fehler"
                                  |
:00418043 B9B9FE4900              mov ecx, 0049FEB9

* Possible StringData Ref from Data Obj ->"Ihre Lizenznummer ist nicht korrekt!"
                                  |
:00418048 BA94FE4900              mov edx, 0049FE94      ; <- gefundene Referenz
:0041804D 8B00                    mov eax, dword ptr [eax]
:0041804F E8D0F00700              call 00497124


4. Um den Sprungbefehl zur Fehlermeldung zu finden, suchen wir mittels
   [Search/Find Text] nach der Adresse 0041803C.

* Reference To: wconfig._Register
                                  |
:00417EB8 8B0D68074B00            mov ecx, dword ptr [004B0768]
:00417EBE BA451E4B00              mov edx, 004B1E45
:00417EC3 8B01                    mov eax, dword ptr [ecx]
:00417EC5 B9F3010000              mov ecx, 000001F3
:00417ECA 8B80DC010000            mov eax, dword ptr [eax+000001DC]
:00417ED0 E8A3C30400              call 00464278
:00417ED5 BA21244B00              mov edx, 004B2421
:00417EDA A168074B00              mov eax, dword ptr [004B0768]
:00417EDF 8B08                    mov ecx, dword ptr [eax]
:00417EE1 8B81E0010000            mov eax, dword ptr [ecx+000001E0]
:00417EE7 B9F3010000              mov ecx, 000001F3
:00417EEC E887C30400              call 00464278
:00417EF1 6821244B00              push 004B2421
:00417EF6 68451E4B00              push 004B1E45
:00417EFB E8C8AEFEFF              call 00402DC8
:00417F00 83C408                  add esp, 00000008       ; <- Breakpoint setzen
:00417F03 3C01                    cmp al, 01
:00417F05 0F8531010000            jne 0041803C     ; <- Sprung zur Fehlermeldung
:00417F0B 33C0                    xor eax, eax
:00417F0D C60570464B0001          mov byte ptr [004B4670], 01
:00417F14 83C9FF                  or ecx, FFFFFFFF
:00417F17 BF451E4B00              mov edi, 004B1E45
:00417F1C F2                      repnz
:00417F1D AE                      scasb
:00417F1E F7D1                    not ecx
:00417F20 2BF9                    sub edi, ecx
:00417F22 BE80464B00              mov esi, 004B4680
:00417F27 87F7                    xchg edi, esi
:00417F29 8BD1                    mov edx, ecx
:00417F2B 8BC7                    mov eax, edi
:00417F2D C1E902                  shr ecx, 02
:00417F30 F3                      repz
:00417F31 A5                      movsd
:00417F32 8BCA                    mov ecx, edx
:00417F34 83E103                  and ecx, 00000003
:00417F37 F3                      repz
:00417F38 A4                      movsb
:00417F39 33C0                    xor eax, eax
:00417F3B 83C9FF                  or ecx, FFFFFFFF
:00417F3E BF21244B00              mov edi, 004B2421
:00417F43 BE48474B00              mov esi, 004B4748
:00417F48 F2                      repnz
:00417F49 AE                      scasb
:00417F4A F7D1                    not ecx
:00417F4C 2BF9                    sub edi, ecx
:00417F4E 8BD1                    mov edx, ecx
:00417F50 87F7                    xchg edi, esi
:00417F52 C1E902                  shr ecx, 02
:00417F55 8BC7                    mov eax, edi
:00417F57 F3                      repz
:00417F58 A5                      movsd
:00417F59 8BCA                    mov ecx, edx


5. In Zeile 00417F05 ist der gesuchte Sprungbefehl zur Fehlermeldung zu finden
   (jne 0041803C). Hier setzen wir auch gleich unseren Breakpoint [F2] (Zeile
   00417F00).


6. Wir wechseln nun zum WINCONFIG und geben beliebige Registrierdaten ein.

   z.B. Name: Dark Heaven
        Code: 1122334455


7. Nach der Eingabebesttigung wird W32DASM beim Breakpoint aktiv und wir knnen
   uns den Inhalt der einzelnen Register anschauen.

   EDX = 0073F3E8: EDX+000001F0 = 1122334455
                   EDX-0000077C = 112231352596 (falscher Code)
                   EDX-00000004 = 112231355596 (gesuchter Code)


8. Mit dem gefundenen Code knnen wir nun WINCONFIG registrieren und erhalten
   die Erfolgsmeldung "Die Freischaltung der Vollversion war erfolgreich.
   Vielen Dank fr Ihre Registrierung!".

   z.B. Name: Dark Heaven
        Code: 112231355596


9. Nach der Registrierung erstellt WINCONFIG die Datei WCONFIG.DAT mit den
   verschlsselten Registrierdaten im Installationsverzeichnis.



Viel Spa beim CRACKEN!
Dark Heaven
02.01.1999


