Cracking Tutorial für DownloadWizard Plus 2.50
Was man BPXen kann, falls HMEMCPY nicht funktioniert

 
 


Programm: DownloadWizard Plus 2.50
Beschreibung: DownloadWizard Plus is your Internet Download Manager, which can also manage bookmarks and desktop shortcuts. With DownloadWizard you can download files as usual, create bookmarks as usual, create shortcuts on your desktop and manage them, use full ZIP/UNZIP functionality, look for everything you have downloaded.
URL: http://www.company.com
Schutz: Name / Serial
Benötigte Tools: - SoftICE 3.24
Anmerkung: Muß ich euch wirklich daran erinnern, daß durch KAUFEN und NICHT stehlen der Software, die ihr benutzt, sichergestellt wird, daß diese Firmen weiterhin Software für unseren Gebrauch entwickeln und viel wichtiger, uns weiterhin Herausforderungen bieten ihre oft sehr schlechten Schutzmechanismen zu knacken.
BTW, Es ist illegal gecrackte Software zu benutzen!

 
Wenn du nach Cracks oder Seriennummern auf diesen Seiten suchst, dann verschwendest du deine Zeit. Suche anderswo im Web unter Warez, Cracks, etc.
Information: Marken- und Produktnamen sind Warenzeichen oder eingetragene Warenzeichen ihrer jeweiligen Hersteller.
Stufe: (X)Anfänger ( )Fortgeschrittener ( )Profi ( )Experte

Ich bekomme immer mehr Mails, in denen gefragt wird, welche Breakpoints möglich sind, falls HMEMCPY nicht funktioniert. Obwohl ich diese Frage schon in den FAQ Teil der cRACKER's n0TES eingefügt habe, bekomme ich immer noch solche Mails. Ich hoffe, daß mit Hilfe dieses Tutorials die Leutz' auch dies ohne um Hilfe zu beten nun mastern können.

Zuerst müssen wir das Programm ausführen - so macht dies nun. Eine gut-gemachte Dialogbox erscheint. Diese informiert darüber, wieviele Tage und Starts noch in der Testzeit übrig sind. Es gibt auch eine nette Registrieren Taste, die ihr nun betätigen sollt. Eine weitere Dialogbox erscheint. Diese Dialogbox fragt nach dem Namen und dem Registrierungs Code. Der Registrierungs Code sollte die Form A-B-C-D haben.

Wir wissen bereits genug über dieses Programm - also können wir es jetzt gleich knacken. Also gebt euere beliebtesten Registrations Details ein (Ich habe PIRATED COPY als Name und 1234-5678-90AB-CDEF als Registrations Code gewählt). Nun wechsle zu SoftICE und setze einen BPX auf HMEMCPY; dann verlasse SoftICE wieder und drücke die OK-Taste!

Nach ein wenig durchschauen des Programms, sollte ungefähr folgendes angezeigt werden:

  :004467CB    CALL    [EBP+0C]
  :004467CE    POP     ECX
  :004467CF    XOR     EAX,EAX
  :004467D1    POP     EBP
  :004467D2    RET

Nun könnten wir einen BPX auf diesen CALL setzen - dieser wird jedoch nur wegen dem Hinweis-Fenster angezeigt (denke ich). Und was würdet ihr machen, falls euch kein solches Hinweis-Fenster informiert? Vielleicht würdet ihr dann verloren sein ... also über wir das besser nun! Falls ihr irgendeine Win32 Dokumentation in eurer Nähe habe, empfehle ich euch sehr herauszufinden, welchen anderen Möglichkeiten für einen BPX es hier gibt ... Ich bin sicher, daß ihr andere nützliche Informationen durch das studieren dieser Dokumentation bekommt. Falls ihr jedoch keine Ahnung habt, welcher BPX zu setzen ist, könnt ihr die Schnellansicht benutzen, die in jeder Win95/98 Version enthalten ist. Schaut euch die IMPORTS des Programms an. Ihr werdet unterschiedliche nützliche finden. Wenn ihr nun euer Hirn ein wenig anstrengt, stoßt ihr auf SendDlgItemMessageA. Ich sage ich, dies ist die Routine, die ihr BPXen müßt. Also macht das nun ... und drückt wieder die OK-Taste.

SoftICE erscheint und zeigt den folgenden Code an:

  :0040A01C    CALL    USER32!SendDlgItemMessageA
  :0040A021    PUSH    00
  :0040A023    PUSH    03
  :0040A025    PUSH    EDI
  :0040A026    CALL    00420ED4
  :0040A02B    ADD     ESP,0C
  :0040A02E    PUSH    EDI
  :0040A02F    MOV     EAX,[EBX+19]
  :0040A032    ADD     EAX,21
  :0040A035    PUSH    EAX
  :0040A036    CALL    0045F108
  :0040A03B    ADD     ESP,08
  :0040A03E    INC     ESI
  :0040A03F    CMP     ESI,04                              ; (1)
  :0040A042    JLE     00409FF5                            ; (2)
  :0040A044    PUSH    DWORD PTR [EBX+19]
  :0040A047    PUSH    21
  :0040A049    PUSH    0D
  :0040A04B    PUSH    69
  :0040A04D    MOV     EDX,[EBX]
  :0040A04F    PUSH    DWORD PTR [EDX+0C]
  :0040A052    CALL    USER32!SendDlgItemMessageA          ; (3)
  :0040A057    PUSH    00
  :0040A059    PUSH    03
  :0040A05B    PUSH    DWORD PTR [EBX+19]
  :0040A05E    CALL    00420ED4
  :0040A063    ADD     ESP,0C
  :0040A066    PUSH    DWORD PTR [EBX+19]
  :0040A069    CALL    0040974D                            ; (4)
  :0040A06E    POP     ECX
  :0040A06F    TEST    EAX,EAX
  :0040A071    JNZ     0040A099                            ; (5)
     ...         ...
  :0040A092    CALL    USER32!MessageBoxExA                ; (6)
  :0040A097    JMP     0040A0A0
  :0040A099    PUSH    EBX
  :0040A09A    CALL    0045208A
  :0040A09F    POP     ECX
  :0040A0A0    POP     EDI
     ...         ...
  :0040A0A6    RET

Also ich denke, daß ihr den oberen Codeausschnitt verstehen werdet, da er nur einfach die Nummer der serial Eingabefelder erhöht, diese ausliest und überprüft ob alle 4 Eingabefelder ausgelesen wurden. Wenn dies der Fall ist wird der JLE (2) nicht ausgeführt. Dann wird der Name ausgelesen (3). Schließlich wird die Seriennummer überprüft (4). Falls alles in Ordnung ist, wird der JNZ (5) ausgeführt - andernfalls erscheint eine Dialogbox, die euch mitteilt, daß euere Registrierungs Details ungültig sind (6). Also müssen wir in den CALL bei 40A069 (4).

Nachdem ihr im CALL seid, wird der folgende Code angezeigt:

  :0040974D    PUSH    EBP
    ...         ...
  :0040978A    PUSH    EBX                                  ; (7)
  :0040978B    LEA     EAX,[EBP-38]
  :0040978E    PUSH    EAX                                  ; (8)
  :0040978F    CALL    0040967D
  :0040979B    RET

Ich habe einen Großteil des Codes weggelassen, da dieser *nicht* interessant für uns ist. Wenn ihr an dem Codeausschnitt interessiert seid, traced einfach durch ihn - und ihr werdet verschiedene Sachen herausfinden, die eines Tages euch nützlich sein könnten (findet dies selber 'raus - in diesem Fall lernt ihr am meisten).

Bei 40978A enthält EBX unsere falsche Seriennummer und bei 40978E enthält EAX unseren Namen. Nun könnt ihr mal raten, was nun abgeht. Natürlich müssen wir den letzten CALL vor dem RETurn entern, da dieser den entscheidet ob die Seriennummer gültig oder ungültig ist. Nachdem ihr ihn geenterd habt, wird folgender Code angezeigt:

  :0040967D    PUSH    EBP
  :0040967E    MOV     EBP,ESP
  :00409680    MOV     EAX,[EBP+08]
  :00409683    PUSH    00
  :00409685    PUSH    00
  :00409687    PUSH    DWORD PTR [EBP+0C]
  :0040968A    ADD     EAX,21
  :0040968D    PUSH    EAX                                  ; (9)
  :0040968E    CALL    00421009                             ; (A)
  :00409693    ADD     ESP,10
  :00409696    POP     EBP
  :00409697    RET

Also bei 40968D (9) wird die richtige Seriennummer gePUSHed und bei 40968E (A) wird sie überprüft ... Die Seriennummer für PIRATED COPY ist 3123-3095-4085-3303. Falls du einen KeyGEN für dieses Programm schreiben willst, mußt du viel Code tracen  ... und ich habe nicht die Zeit das momentan zu tun ... vielleicht habe ich in der Zukunft mehr Zeit - jedenfalls glaube und hoffe ich, daß ihr von diesem Tutorial etwas gelernt habe. Wenn dies so ist, bitte ich um eine kurze Mail.

Übrigens, Euere Registrierungs Details sind in der Datei DW.CFG - wie ihr sicherlich wisst oder mit einem Monitoring Tool wie FileMon herausgefunden haben.


Ein weiteres Programm wurde Reverse Engineerd. Irgendwelche Fragen (keine Crack-Anfragen)?


 
Wenn du DownloadWizard Plus NACH der kostenlose Test-Phase WEITERHIN benutzt, dann KAUFE ES dir bitte.


Copyright © 1999 by TORN@DO and The Immortal Descendants. All Rights Reserved.